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

Recomenda

Dicas de filmes, séries, leituras, sons, espetáculos


Recomenda

"Não fui o suficiente para meu pai": filha revela Steve Jobs cruel em livro

Steve Jobs e Lisa Brennan-Jobs na infância - Reprodução
Steve Jobs e Lisa Brennan-Jobs na infância Imagem: Reprodução

Fernanda Ezabella

De Los Angeles

30/01/2019 04h00

Relações entre pais e filhas podem ser um tanto complicadas. Imagine então se o pai for Steve Jobs (1955-2011), o gênio bilionário cofundador da Apple, conhecido também como um dos executivos mais rudes e instáveis do Vale do Silício?

"Você cheira a privada", disse Jobs, três meses antes de morrer, a sua filha mais velha, a escritora Lisa Brennan-Jobs, numa das visitas mensais que ela fazia ao seu leito de morte. A filha havia encontrado um perfume caro de água de rosas no banheiro da casa e ado demais, para horror do pai.

A agem está nas primeiras páginas de "Small Fry" (ed. Grove Press, sem previsão de lançamento no Brasil), livro de memórias que Brennan-Jobs publicou no final de 2018 - e foi escolhido pelo The New York Times como um dos 10 melhores do ano???. Hoje com 40 anos, ela colabora com revistas e mora em Nova York.

Apesar de revelar alguns momentos de doçura pai e filha, o livro pinta um retrato de um pai gelado, cruel, mesquinho, manipulador e inapropriado. A sempre discreta viúva de Jobs, Laurene Powell Jobs, madrasta de Brennan-Jobs, até divulgou um comunicado para dizer que o marido era "dramaticamente diferente" das lembranças da autora do livro.

"Foi com tristeza que lemos seu livro", escreveu Powell Jobs, em conjunto com Mona Simpson, irmã de Jobs. "Steve amava Lisa, e ele se arrependia de não ter sido o pai que deveria durante sua primeira infância."

Pai não assumiu a menina mesmo depois do DNA

"Small Fry" (peixe pequeno) era o apelido que Jobs deu para a filha quando os dois começaram a se relacionar com frequência, na época que tinha 8 anos. Jobs demorou para reconhecer a garota, mesmo após ser obrigado pela justiça a fazer teste de DNA. Ainda assim, dizia a amigos próximos que não era sua filha.

Sua mãe é a artista Chrisann Brennan, namorada de Jobs do colégio. Os dois se relacionaram por seis anos, entre idas e vindas, e Lisa nasceu quando o casal estava separado. Por toda a infância e adolescência, a menina diz que sofreu tentando desesperadamente agradar Jobs e profundamente carente do seu amor.

"Desculpe, criança, não foi para você", disse Jobs duas vezes para ela, ao ser questionado sobre a origem do nome do computador Lisa, da Apple, de 1983. Apenas quando Bono, do U2, perguntou, numa viagem da família Jobs à vila do cantor no sul da França, que o pai finalmente cedeu: ela havia sido a inspiração. Nessa época ela tinha 27 anos.

"Foi doloroso não ser incluída em sua vida".

O livro é repleto de histórias excêntricas, como uma piada que ele fazia sobre como uma torre de Palo Alto era "o pinto da cidade". Ou como ele costumava beijar e ar a mão em suas namoradas bem na frente da filha. "Tinha repulsa e ficava intrigada ao mesmo tempo", escreve a autora, na época com 9 anos.

Há também vários causos de sua infame mesquinharia. Jobs se negou a instalar aquecimento no quarto da filha e deixou de pagar o último ano de sua faculdade em Harvard. Seus vizinhos, bem versados dos abusos paternais, pagaram a conta. Ela chegou inclusive a morar com eles por um período em que saiu da casa do pai.

No final da vida, Jobs pediu perdão à filha, e ela de fato diz não levar rancores. Ainda que o empresário tenha dito quando ela era criança que não ganharia um tostão seu, lhe deixou alguns milhões de dólares de herança. A viúva ficou com os bilhões.

Recomenda