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

Péricles relembra período como cabeleireiro: 'cortei a orelha da cliente'

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

03/08/2021 04h00

Faltando pouco para o encerramento da temporada de "Sai da Caixa", Tiago Abravanel recebeu Péricles para um bate-papo musical, com muitas risadas, revelações e canções. Semanalmente, convidados foram até a casa de Abravanel para cantar músicas totalmente fora do seu repertório habitual. Nesta semana, Supla ará por aqui, no Canal UOL.

per - Reinaldo Canato/UOL - Reinaldo Canato/UOL
Tiago Abravanel recebe Péricles, no "Sai da Caixa"
Imagem: Reinaldo Canato/UOL

Com uma carreira consolidada na música, Péricles relembrou que nem sempre foi assim. Antes de estourar no Exaltasamba, ele já teve algumas outras profissões: "Fui cabeleireiro, sapateiro, metalúrgico, fui inspetor de alunos. Isso tudo com a música ao mesmo tempo", disse. E como cabeleireiro, não faltaram histórias.

Teve uma cliente que eu cortei um pedacinho da orelha dela. Essa lembra de mim, negativamente, saiu xingando. Foi um pedacinho, em uma parte da orelha que saía muito sangue e eu não sabia o que fazer. Péricles

"O desespero foi pegando"

O que era para ser um corte simples, acabou em um problemão: "O desespero foi pegando. Fui tentando me acalmar e não conseguia", disse Péricles contando que fez de tudo — de tudo mesmo, para resolver o problema.

Do lado do salão tinha um bar. Eu pedi pó de café, eu pedi bituca de cigarro, eu joguei talco, eu joguei tudo o que você podia imaginar para estancar o sangue e não parava. Péricles

Depois quando tudo acalmou, ele ainda terminou o corte. E claro, não cobrou pelo serviço.

peri - Reinaldo Canato/UOL - Reinaldo Canato/UOL
Péricles se apresenta no "Sai da Caixa", com Tiago Abravanel
Imagem: Reinaldo Canato/UOL

Erros e acertos

Enquanto uma cliente saiu com um corte na orelha, tiveram outras que foram transformadas pelas mãos do cantor e cabeleireiro. Péricles revelou que adorava a sensação de poder transformar as clientes e mostrar uma beleza que nem elas acreditavam: "Vi a vida de muita gente se transformar".

Todas as profissões me ajudaram entender como é o ser humano. Ouvindo histórias, ouvi muitas histórias (...) Quando ingressei na música mesmo, acabei deixando a profissão de lado. Péricles

"Sai da Caixa" toda quarta-feira, às 11h:

Você pode assistir a toda a programação do Canal UOL aqui.