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

Balaio do Kotscho

Tal Trump, tal Bolsonaro: a democracia ameaçada nos EUA, aqui e no mundo

Trump e Bolsonaro enfrentam onda de críticas pela estratégia adotada contra a pandemia de coronavírus - Reuters
Trump e Bolsonaro enfrentam onda de críticas pela estratégia adotada contra a pandemia de coronavírus Imagem: Reuters

Colunista do UOL

18/10/2020 15h39

"A campanha de reeleição de Donald Trump representa a maior ameaça à democracia americana desde a Segunda Guerra Mundial".

Assim começa o histórico editorial do New York Times publicado neste domingo sobre Donald Trump, em que conclama o povo americano a votar em Joe Biden para evitar a reeleição do "pior presidente da história dos Estados Unidos".

Sem deixar pedra sobre pedra, o principal jornal do mundo resume a istração Trump em seis palavras: corrupção, raiva, caos, incompetência, mentiras, decadência.

"A ruinosa posse de Trump já prejudicou gravemente os Estados Unidos em casa e em todo o mundo. Ele abusou do poder de seu cargo e negou a legitimidade de seus oponentes políticos, quebrando as normas que uniram a nação por gerações. Ele incorporou o interesse público à lucratividade de seus negócios e interesses políticos. Ele demonstrou um desrespeito impressionante pela vida e pela liberdade dos americanos. Ele é um homem indigno do cargo que ocupa", diz o NYT com todas as letras.

A descrição de quem é o presidente Trump lembra qual outro presidente, que segue todos os seus os, com total subordinação, assim como um soldado raso se comporta diante de um general?

É impressionante a semelhança entre o que acontece hoje nos Estados Unidos de Donald Trump e o Brasil de Jair Bolsonaro, guardadas as devidas proporções entre os personagens e seus países.

Não por acaso, são os dois países com maior número de vítimas na pandemia do coronavírus em todo o mundo, os que registram os maiores índices de destruição do meio ambiente e de violência policial, de atentados contra o Estado de Direito e às minorias.

Ao tratar adversários políticos como inimigos, eles dividiram seus países ao meio, estimularam a intolerância, o racismo, a misogenia e a xenofobia, colocaram em xeque as instituições democráticas e praticaram repetidos abusos de poder, desrespeitando os demais poderes. .

Ambos governam pelo Twitter e mentem compulsivamente, espalhando fake news em doses industriais e criando uma realidade paralela, desdenhando da cultura e da ciência, negacionistas irresponsáveis, que falam em nome de Deus, da família e dos "cidadãos de bem", e praticam as maiores atrocidades, sem nenhuma compaixão pelas vítimas que deixam no caminho.

"Esta é uma eleição sobre o futuro do país e o caminho que seus cidadãos desejam escolher. A resiliência da democracia americana foi duramente testada pelo primeiro mandato de Trump. Mais quatro anos, seria pior. Mas enquanto os americanos esperam para votar em filas que se estendem por quarteirões em suas cidades, Trump está engajado em um ataque violento à integridade desse processo democrático essencial. Rompendo com todos os seus predecessores modernos, ele se recusou a se comprometer com uma transferência de poder, sugerindo que sua vitória é o único resultado legítimo e que, se ele não vencer, está pronto para contestar o julgamento do povo americano nos tribunais e nas ruas", alerta o editorial.

Os americanos poderão mudar seu destino, escolhendo entre a civilização e a barbárie, como nós em 2018, daqui a apenas duas semanas, mas os brasileiros ainda têm pelo menos mais dois anos de desgoverno bolsonarista pela frente.

Caso se confirmem as previsões de todas as pesquisas e Biden seja eleito, o Brasil ficará pendurado na escada de brocha na mão, depois de jogar todas as fichas da sua diplomacia na relação servil com Donald Trump, correndo o risco de se tornar um pária entre as nações civilizadas.

Como foi possível que a mais poderosa e sólida democracia do mundo se visse de uma hora para outra ameaçada em seus fundamentos por um megalomaníaco alucinado, que só olha para o próprio umbigo e faz do globo terrestre uma bola para ser chutada, como aquele célebre personagem de Charles Chaplin?

Lá como aqui, a grande mídia foi omissa ao não mostrar o perigo que representava a eleição desses dois, tratados como figuras folclóricas da "nova política" que se apresentavam como salvadores da pátria.

Se esse editorial do New York Times tivesse sido publicado quatro anos atrás, quem sabe, sabendo o que já se sabia sobre a trajetória errante e predatória do bilionário (em dólares) Donald Trump, talvez o mundo não se visse hoje diante desta encruzilhada.

Em tempo: agradeço ao Juca Kfouri por ter publicado em sua coluna de futebol esse editorial do NYT devidamente traduzido para o português. Vale a pena ler na íntegra

Vida que segue.