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

Post misterioso de Musk e memes: os momentos antes da venda do Twitter

 Twitter deve aceitar oferta de US$ 43 bilhões de Elon Musk  - Reprodução/O Antagonista
Twitter deve aceitar oferta de US$ 43 bilhões de Elon Musk Imagem: Reprodução/O Antagonista

De Tilt, em São Paulo

25/04/2022 16h12Atualizada em 26/04/2022 09h00

A venda do Twitter foi oficializada na tarde desta segunda-feira (25). Por cerca de US$ 44 bilhões (ou cerca de R$ 209 bilhões, na cotação atual), o novo dono da rede social a a ser o bilionário sul-africano Elon Musk.

Mas, diferentemente de outros negócios, que geralmente am despercebidos aos olhos de grande parte do público, a espera da conclusão da compra do Twitter feita pelo magnata gerou expectativa ao longo do dia: foi um dos assuntos mais comentados na rede social e causou inúmeros memes, inclusive entre os brasileiros (veja abaixo), mobilizando as manchetes de grandes veículos ao redor do mundo.

Percebendo a repercussão, Musk publicou posts misteriosos em seu perfil momentos antes da oficialização do investimento (perto das 15h50, no horário de Brasília), aumentando ainda mais a ansiedade de algumas pessoas para o anúncio da compra.

Em um deles, o bilionário citou trecho do poema romântico do renomado poeta Robert Frost, "A Line Storm Song".

And be my love in the rain (e seja meu amor na chuva). Musk, no Twitter

Em outra mensagem, Musk disse esperar que, após a conclusão do acordo, "até meus piores críticos permaneçam no Twitter, porque é isso que significa liberdade de expressão".

O magnata já disse em entrevistas que um dos motivos que o levou a fazer uma oferta para comprar a rede social é porque acredita que "é muito importante que haja uma arena inclusiva para a liberdade de expressão".

Ele questiona o algoritmo do Twitter que, na sua visão, deveria ser de código aberto.

Resistência a Musk

Apesar do entusiasmo de parte da internet, analistas de tecnologia reagiram com preocupação à oferta do dono de Tesla e SpaceX, principalmente sobre sua transparência, discurso público e, inclusive, sobre como isso poderia trazer impactos à democracia.

"O Twitter é muito importante para ser propriedade de uma única pessoa", escreveu na rede social Fred Wilson, um investidor de risco. "Deveria acontecer o contrário, uma descentralização", opinou.

A oferta de Musk enfrentou a resistência do Conselho de istração e de alguns importantes acionistas.

Musk é eleito o mais rico do mundo

Em abril, Elon Musk foi eleito a pessoa mais rica do mundo em 2022, com uma fortuna estimada em US$ 219 bilhões (R$ 1,021 trilhão), de acordo com ranking da revista norte-americana Forbes.

Foi a primeira vez que Musk apareceu em primeiro lugar. Ele ganhou US$ 68 bilhões em um ano, após salto de 33% nas ações da Tesla.

Ele deixou em segundo lugar Jeff Bezos, com US$ 171 bilhões (R$ 797,25 bilhões), líder da lista por quatro anos. O fundador da Amazon, que também tem investido em turismo no espaço, perdeu o posto com a queda nas ações da Amazon e suas doações para caridade, que tiraram US$ 6 bilhões da sua fortuna.