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

Por que Jeff Bezos e Richard Branson ainda não são astronautas, segundo os EUA

Bezos e a equipe Blue Origin podem não se qualificar como astronautas - Blue Origin/Divulgação
Bezos e a equipe Blue Origin podem não se qualificar como astronautas Imagem: Blue Origin/Divulgação

24/07/2021 12h52

Governo dos EUA endureceu regras sobre como visitantes do espaço podem reivindicar título de astronautas

Em um movimento que joga água fria nos sonhos de alguns exploradores espaciais bilionários, os Estados Unidos endureceram sua definição sobre a palavra "astronauta".

As novas regras da FAA (agência que regulamenta a aviação civil nos Estados Unidos) dizem que os astronautas devem fazer parte da tripulação e contribuir para a segurança dos voos espaciais.

Isso significa que Jeff Bezos e Sir Richard Branson ainda não podem ser vistos como astronautas sob os critérios do governo dos Estados Unidos.

Estas são as primeiras mudanças desde o início do "FAA Wings", um programa federal de formação de pilotos, em 2004.

As atualizações do programa sobre voos comerciais foram anunciadas na terça-feira (20/07), mesmo dia em que o Bezos, da Amazon, voou a bordo do foguete Blue Origin.

Para se qualificarem como astronautas comerciais, os viajantes do espaço devem viajar 50 milhas (80 km) acima da superfície da Terra, o que tanto Bezos quanto Branson fizeram.

Mas, fora a altitude, a agência diz que os aspirantes a astronautas também devem ter "demonstrado durante o vôo atividades essenciais para a segurança pública, ou contribuído para a segurança humana em vôo espacial".

Os critérios para as duas determinações são definidos por oficiais da FAA.

Em nota, a FAA disse que essas mudanças aprimoram o papel do programa em proteger a segurança pública durante voos espaciais comerciais.

Em 11 de julho, Sir Richard voou a bordo da SpaceShipTwo da Virgin Galactic como parte de um teste, antes de permitir que clientes comecem a embarcar no próximo ano.

Já Bezos e os três outros tripulantes que voaram na espaçonave da Blue Origin podem ter menos direitos sobre o cobiçado título.

Antes do lançamento, o CEO da Blue Origin, Bob Smith, disse que "não há realmente nada para um membro da tripulação fazer" no veículo autônomo.

Aqueles que desejam direitos comerciais para vôos do tipo precisam ser nomeados. Um porta-voz da FAA disse à CNN que no momento eles não estão avaliando nenhum caso.

Existem duas outras maneiras de ganhar título de astronauta nos Estados Unidos - por meio dos militares ou da Nasa.

As asas de astronauta que aparecem nos uniformes de Bezos e do Sir Richard voos foram customizadas por suas próprias empresas.

No entanto, uma ponta de esperança permanece para Richard, Bezos e quaisquer futuros expedicionários que desejem ser reconhecidos como astronautas.

O novo texto aponta que prêmios honorários podem ser dados com base no mérito - a critério, novamente, da FAA.

As asas de astronauta foram dadas pela primeira vez aos astronautas Alan Shepard Jr e Virgil Grissom no início dos anos 1960 por, sua participação no programa Mercury Seven.