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

Musk promete criar "conselho de moderação" e "autoclassficação" de tuítes

Elon Musk pretende lançar sua nave espacial para transportar pessoas de Boca Chica a Marte - GETTY IMAGES
Elon Musk pretende lançar sua nave espacial para transportar pessoas de Boca Chica a Marte Imagem: GETTY IMAGES

Da Redação*

Em São Paulo

29/10/2022 09h16

As novas políticas de "liberdade de expressão" no Twitter começam a se desenhar. O bilionário Elon Musk, que adquiriu a companhia por US$ 44 bilhões, anunciou em um tuíte que irá criar um novo "conselho de moderação de conteúdo" com membros que tenham "pontos de vista amplamente diversos".

"Nenhuma grande decisão sobre conteúdo ou retomada de contas [banidas] acontecerá antes que o conselho delibere", alertou.

Formalmente, porém, ele reforça que as regras do jogo seguem as mesmas: "Para deixar super claro, nós ainda não fizemos nenhuma mudança nas políticias de moderação de conteúdo do Twitter."

Por outro lado, o empresário indicou que futuramente usuários poderão selecionar "qual versão do Twitter você quer", similar ao sistema de "classificação etária dos filmes". Essa classificação poderia ser "autoselecionada" ou alterada pelo de usuários, mas não deu detalhes de como isso funcionaria.

Estima-se que, por "pontos de vista amplamente diversos", Musk se refira ao espectro político da esquerda e da direita. A plataforma vinha recebendo críticas da extrema direita pelo banimento de conteúdos e contas, como o do ex-presidente Donald Trump - atos considerados por eles como uma violação da liberdade de expressão.

Contudo, um usuário respondeu ao post de Musk relembrando que o Facebook tomou uma decisão parecida há alguns anos, e o conselho fracassou porque nenhum dos dois lados do espectro político considerou seu trabalho satisfatório.

Musk responde a usuários problemáticos

Assim que a longa negociação pela rede social foi concluída, na quinta-feira (27), Musk tem sido abordado online por centenas de perfis pedindo intervenção em punições aplicadas pela plataforma. Outroas apenas aproveitam para felicitá-lo e reforçar pedidos de menos controle sobre o conteúdo.

Dmitry Medvedev, ex-presidente russo e atual vice-presidente do Conselho de Segurança da Rússia, publicou em sua conta: "Boa sorte @elonmusk em superar o viés político e a ditadura ideológica no Twitter. E saia desse negócio da Starlink na Ucrânia." Ele se refere ao apoio financeiro do empresário para levar internet à Ucrânia durante o atual conflito com a Rússia.

Em resposta a uma conta anônima com 852 mi seguidores, conhecida por ser uma grande apoiadora das alegações de fraude eleitoral de Trump e que disse que ter sido "banida", Musk respondeu que iria "pesquisar mais hoje".

Outra abordagem foi da Canada Proud, organização que tenta retirar do poder o primeiro-ministro canadense Justin Trudeau: "Ei @elonMusk, agora que você possui o Twitter, você vai ajudar a lutar contra a lei de censura online de Trudeau C-11?" Musk saiu pela tangente: "Primeira vez que ouvi", tuitou ontem.

Trump, que foi permanentemente banido por incitar violência após a invasão do Capitólio em 6 de janeiro de 2021, foi um dos primeiros, fez uma declaração fora da rede. "Estou muito feliz que o Twitter está agora em mãos sensatas e não será mais istrado por Lunáticos e Maníacos da Esquerda Radical que realmente odeiam nosso país."

Por outro lado, Musk também apoiou a postagem de Shibetoshi Nakamoto, criador da criptomoeda Dogecoin. O investidor postou ontem: "Não sei quem precisa ouvir isso, mas ameaças de morte não são parte dos direitos protegidos de livre expressão. É uma categoria diferente chamada 'crime'. Então, só pra saber, você ainda não pode fazer isso." Musk respondeu com um simples emoji de flecha acertando no centro do alvo.

*Com conteúdo da Reuters