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

Trago Boas Notícias #245: Kaique Brito usa humor ao tratar de temas sérios

Edgard Piccoli é o apresentador do podcast Trago Boas Notícias - Arte/ UOL
Edgard Piccoli é o apresentador do podcast Trago Boas Notícias Imagem: Arte/ UOL

Do UOL

25/03/2022 17h50

No episódio #245 do podcast Trago Boas Notícias, Edgard Piccoli conversa com Kaique Brito. Ele tem 17 anos e viralizou na internet aos 14, depois de dublar um vídeo criticando uma fala sobre racismo reverso. Ele seguiu gravando outros conteúdos, sempre bem humorados, para falar de assuntos sérios, como direitos humanos e defesa do meio ambiente. Seguindo essa linha, o Kaique produz conteúdos pro TikTok, pro Instagram e pro Twitter. E hoje ele apresenta o podcast Pega Essa Ref, com assuntos sobre cultura pop, memes, sociedade e tudo que se a na cabeça dos jovens.

Ouça a entrevista completa abaixo:

Na entrevista, o Kaique contou que os vídeos sempre mostram a opinião dele. "Por exemplo: em 2020, eu comecei a minha parceria com o WWF, que é uma ONG ambiental. A gente tem um trabalho de elas me mandarem o que está rolando agora no meio da política, que envolve meio ambiente, e eu só aumento esse assunto e reo para os meus seguidores no Twitter, no Instagram." (ouça em 1:45).

O Kaique contou que, no começo, não conseguia expressar muito bem as próprias ideias e nem gravar conteúdos usando a própria voz. Esse movimento foi acontecendo aos poucos, à medida que ele percebeu que as pessoas iriam ouvi-lo mais se ele falasse do jeito que gostaria de se comunicar. "Agora eu sinto muita necessidade de usar minha voz, de falar mesmo. Nos meus stories, [...] gravo como se estivesse gravando para um amigo e as pessoas engajam bastante nesse tipo de conteúdo." (a partir de 4:21).

Kaique - Divulgação - Divulgação
O jovem influenciador Kaique Brito
Imagem: Divulgação

"Eu acho que as redes sociais têm um alcance que a gente às vezes não tem ideia. Às vezes a gente vê ali uma visualização e acha que não é nada, mas é uma pessoa ouvindo tudo o que você tem para falar. Então eu acho que esse é o maior poder das redes sociais. Não importa quantos seguidores você tem: se você está conseguindo alcançar uma pessoa ou duas pessoas já é bastante." (a partir do minuto 7:07).

Os podcasts do UOL estão disponíveis em uol.com.br/podcasts. Você pode ouvir Trago Boas Notícias no UOL e também no Spotify. Novos episódios de segunda a sexta, às 18h.

Trago boas notícias podcast do UOL e Spotify - Arte/UOL - Arte/UOL
Podcast Trago Boas Notícias é publicado de segunda a sexta, às 18h, no UOL e Spotify
Imagem: Arte/UOL