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

Tempestade solar destrói satélites novinhos da Starlink; veja imagens

Imagem captada sobre o céu de Santo Domingo, em Porto Rico, em 7 de fevereiro, mostra detritos espaciais de satélites da Starlink - Eddie Irizarry/Sociedad de Astronomia Del Caribe
Imagem captada sobre o céu de Santo Domingo, em Porto Rico, em 7 de fevereiro, mostra detritos espaciais de satélites da Starlink Imagem: Eddie Irizarry/Sociedad de Astronomia Del Caribe

Marcella Duarte

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

10/02/2022 10h24Atualizada em 10/02/2022 19h40

A SpaceX anunciou que deve perder cerca de 40 dos 49 satélites Starlink que foram lançados na semana ada, devido a uma tempestade geomagnética. Em vez de atingir a órbita planejada, eles estão queimando em nossa atmosfera e imagens já mostram os restos de alguns destes satélites voltando à Terra.

"Infelizmente, os satélites foram significativamente impactados por uma tempestade geomagnética na sexta-feira", disse a empresa em um comunicado. "Essas tempestades fazem com que a atmosfera se aqueça e a densidade atmosférica em nossas baixas altitudes de implantação aumente."

A tempestade, muito veloz e intensa, aumentou o arrasto atmosférico (em linhas gerais, o atrito com o ar), que foi até 50% maior do que nos lançamentos anteriores. Por isso, a maior parte dos satélites não conseguiu chegar tão alto quanto deveria e acabará caindo de volta na Terra.

A SpaceX calcula que apenas 20% devem sobreviver ao processo. Eles foram lançados na última quinta-feira (3), do Kennedy Space Center, na Florida (EUA). "Até 40 dos satélites vão reentrar ou já reentraram na atmosfera da Terra. Mas apresentam risco zero de colisão com outros satélites."

Restos de satélites da Starlink foram registrados por câmeras da SAC (Sociedade de Astronomia do Caribe) sobre o céu de Santo Domingo, em Porto Rico, no dia 7 de fevereiro. Veja as imagens abaixo:

O risco de danos em terra também é inexistente. Pequenos e frágeis, com cerca de 230 kg cada, os Starlink são projetados para se desintegrar ao reentrar na atmosfera. "Nenhum detrito orbital é criado e nenhuma parte do satélite atinge o solo", garante a empresa de Elon Musk.

Tempestades geomagnéticas são consequência de interações entre ventos solares (fluxo de partículas carregadas do Sol) e o campo magnético da Terra. A SpaceX afirmou que os satélites foram colocados em modo se segurança e receberam comandos para se protegerem da tempestade, mas não conseguiram realizar as manobras necessárias a tempo.

A Starlink é uma rede de satélites para oferecer internet mundial ultrarrápida e de baixa latência. Até hoje, já foram 35 lançamentos, que colocaram mais de 2.000 minissatélites na órbita da Terra - este número pode chegar a 12.000 nos próximos anos.

O preço do serviço da Starlink no Brasil já foi divulgado: R$ 530 de mensalidade. Mas despesas adicionais de equipamento (R$ 2.670), frete e manuseio (R$ 365) e impostos podem fazer com que o gasto anual beire os R$ 11 mil. Tudo isso com velocidades de entre 100 Mb/s e 200 Mb/s e até 20 ms (milissegundos) de latência.

Errata: este conteúdo foi atualizado
Diferentemente do que dizia uma versão anterior deste texto, no 5º parágrafo e na legenda da foto de abertura, as imagens foram registradas em 7 de fevereiro de 2022, e não 7 de janeiro. O erro foi corrigido.