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

Dialética - Tese, antítese e síntese

Josué Cândido da Silva, Especial para a Página 3 Pedagogia & Comunicação

Todos os dias acontecem milhares de coisas sem nenhuma ordem ou conexão aparente. Tudo o que podemos dizer é que o mundo parece uma grande bagunça. Mas será que mesmo essa bagunça não teria uma ordem, como o secreto ordenamento na desarrumação de nosso quarto?
Para Heráclito de Éfeso (540-470 a.C.), existe uma ordem no universo que nos cerca, mas tal ordem não é algo misterioso ou oculto e sim algo que pode ser percebido em nosso cotidiano. Como dizia Heráclito, "não se pode banhar-se duas vezes no mesmo rio porque nem as águas, nem você permanecem o mesmo". Tudo flui. Algumas coisas mudam mais depressa, outras mais devagar como o movimento dos continentes ou o discreto afastar-se da Lua, mas tudo está em constante mudança.

A mudança não é uma mera aparência, mas o modo de ser das coisas, o seu constante devir. Ou seja, ao invés de dizer que "isso é tal coisa" seria mais correto dizer que "isso está tal coisa", pois nada garante que no futuro permanecerá assim, o mesmo que foi assim no ado. Por isso, Heráclito não falou que tudo é água, terra ou ar, mas fogo: "Por fogo se trocam todas as coisas e fogo por todas, tal como por ouro mercadorias e por mercadorias ouro". O fogo é processo, através do fogo as coisas se transformam: água torna-se vapor, areia torna-se vidro. O fogo é o elemento dinâmico, a melhor representação da constante mudança da realidade.

Saber que a realidade está em constante mudança, entretanto, ainda não nos explica nem porque as coisas mudam, nem como elas mudam, ou seja, se existe algum princípio que regule a forma como as coisas mudam, do contrário, teríamos uma desordem crescente que nos deixaria cada vez mais perplexos e impediria qualquer ação no mundo.

Heráclito responde a ambas questões através da dialética. Para o filósofo de Éfeso, "o combate é de todas as coisas pai, de todas rei". As coisas mudam porque existe uma tensão de forças contrárias dentro delas, como o mel que é, a um só tempo, doce e amargo. É a tensão dos contrários no interior de cada coisa que põe tudo em movimento. Como o andar que nos desequilibra e recompõe o equilíbrio a cada o.

irável é que a tensão entre os contrários não produz destruição das forças em conflito (como em uma guerra), mas harmonia: "o contrário é convergente e dos divergentes nasce a mais bela harmonia, e tudo segundo a discórdia". Mas como isso é possível? É possível se os contrários encontrarem um equilíbrio, como o arco e a lira: tensão demais e a corda se rompe, demasiado frouxo e não produz música. A música secreta da natureza está na harmonia dos contrários que emerge sob a forma de regularidade, como se houvesse uma lógica disciplinando o caos.

Atualmente vários cientistas defendem a ideia de um processo auto-organizador na natureza como uma ordem espontânea que emerge em fenômenos cotidianos como a fervura da água, por exemplo. A agitação da água durante a fervura não é mais do que uma forma de distribuir o calor igualmente por todo o recipiente. As teorias que explicam esse e outros fenômenos complexos, como a flutuação da bolsa de valores, é chamada de teoria do caos.

É difícil saber até que ponto as reflexões de Heráclito se aproximam dessa ideia, afinal, não sobraram muitos fragmentos que dão testemunho de sua filosofia. Mas não deixa de ser surpreendente sua ideia de que o conflito pode produzir transformação e dessa transformação emergir uma nova tensão em um devir permanente. E tudo isso produzindo novas formas de organização da natureza, das ideias e da sociedade. Tamanha a força de seu pensamento, que Heráclito chegou a influenciar filósofos que vieram mais de dois mil anos depois, como Hegel e Marx. "Não existe frase de Heráclito - confessa Hegel - que eu não tenha integrado em minha Lógica".