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

Apresentadores da CNN caem no riso com notícia sobre dedo robótico: 'Eita'

CNN: Apresentadores caem na risada após notícia sobre dedo robótico - Reprodução/CNN
CNN: Apresentadores caem na risada após notícia sobre dedo robótico Imagem: Reprodução/CNN

Colaboração para Splash, em São Paulo

12/06/2022 10h18

Os jornalistas Evandro Cini e Elisa Veeck tiveram uma ataque de riso durante a exibição da última notícia do programa Expresso CNN, da CNN Brasil, na última sexta-feira (10). A informação de uma invenção de um dedo robótico 'que enruga e estica' fez os apresentadores caírem na gargalhada.

Antes do encerramento do jornalístico, o apresentador Evandro Cini chamou atenção do público para contar que um grupo de cientistas japoneses desenvolveram um dedo com pele humana. "Cientistas da Universidade de Tóquio desenvolveram um dedo robótico deito de pele humana, capaz até mesmo de se curar sozinho", informou o jornalista.

"Eita! Nossa", reagiu Elisa Veeck, tentando segurar o riso, mas já com largo sorriso no rosto. O apresentador prosseguiu narrando a notícia da tecnologia aos telespectadores e imagens do dedo robótico foram ao ar.

Essa tecnologia imita as características de um dedo real, ele até enruga e estica, pra vocês terem noção. Segundo os cientistas, o uso de células humanas permite que o dedo robótico tenha funções exclusivas. O objetivo é que a pele possa ser usada no futuro para transplantes, testes cosméticos e como coberturas para próteses.
Evandro Cini

Na volta das imagens do estúdio ao vivo, Elisa Veeck já gargalhava sem conseguir se conter e Evandro Cini confessou ao público que não estava entendo nada. "Eu não sei porque a Elisa tá rindo tanto aqui no Expresso", comentou.

Minutos depois, o apresentador começou rir sem parar dando a entender que sacou o motivo do riso da colega e chamou para o encerramento do programa. "Vamo embora", se despediu ele. "Tchau gente, graças a Deus terminou o tempo do jornal", finalizou ela.

Horas mais tarde, a apresentadora Elisa Veeck tomou conhecimento da repercussão da crise de riso e usou seu perfil no Instagram para brincar que deixou a CNN correndo após o episódio para não ser pega pelo RH da emissora.

Depois desse chorar de rir, fui embora rapidinho para não ter risco de o RH me encontrar no corredor e aplicar alguma multa. 2 anos e 3 meses vivendo perigosamente na firma. Obrigada, Deussss e desculpa, Evandro Cini.
Elisa Veeck