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

Esse conteúdo é antigo

Virgem de 41 anos procura namorada na web, mas com uma exigência

O australiano Daniel Piechnik, de 41 anos, lançou um site em busca da parceira ideal - Reprodução/Daniel Piechnik Site
O australiano Daniel Piechnik, de 41 anos, lançou um site em busca da parceira ideal Imagem: Reprodução/Daniel Piechnik Site

Colaboração para o UOL, em Santos

04/10/2021 11h28Atualizada em 04/10/2021 14h16

Um homem de 41 anos, autodeclarado virgem, vem procurando uma parceira que possa se tornar sua namorada e, quem sabe, ajudá-lo a se iniciar no mundo do sexo. Mas a busca tem sido complicada. A exigência do australiano é de que o "match" aconteça com alguma moça que também não tenha experiência sexual

Daniel Piechnick, de Adelaide, já havia sido notícia há alguns anos, quando pagou por um anúncio online, intitulado "Single Guy From Adelaide" (Cara Solteiro de Adelaide), para ajudá-lo a encontrar o amor.

No entanto, cinco anos se aram e ele ainda não teve muita sorte no jogo do amor, o que o fez renovar sua busca, agora como um quarentão virgem - o que lembra o filme "O Virgem de 40 Anos", com Steve Carell.

Em um vídeo em seu site, o campeão australiano de 2014 de Scrabble, um jogo de palavras cruzadas de tabuleiro, diz que tem uma "vida ótima" e que as coisas estão "muito bem" para ele, mas que ele quer encontrar "aquela pessoa especial".

Daniel Piechnik foi campeão australiano de Scrabble em 2014 - Reprodução/Daniel Piechnik Site - Reprodução/Daniel Piechnik Site
Uma das conquistas de Daniel foi ser campeão nacional de Scrabble em 2014
Imagem: Reprodução/Daniel Piechnik Site

Garantindo às potenciais pretendentes que ele não é "um esquisitão", Daniel diz que "dadas as circunstâncias, você poderia ser perdoada por pensar exatamente isso, então não me importo de esclarecer".

"Eu tive mais do que o meu quinhão de interesse por parte das mulheres em meus círculos sociais, se isso for algum indicador", escreve o homem, no site. "Sou muito normal e sensato de todas as formas que você gostaria, mas interessante de outras maneiras".

E, embora aceite que a maioria das pessoas de sua idade provavelmente terá um pouco mais de experiência do que apenas "dar as mãos e beijar", Daniel diz que está procurando alguém "raro" que ainda não tenha ido tão longe.

"Estou apenas procurando uma das poucas pessoas que não tenham ido além. Eu entendo que as pessoas am por todos os tipos de experiências diferentes e por todos os tipos de circunstâncias diferentes - algumas muito boas, outras muito ruins. Não estou em posição de julgar ninguém. Estou apenas procurando alguém como eu, o que é difícil de encontrar hoje em dia", explica.

Daniel conta que ou a juventude focado apenas no trabalho e que, por essa razão, não teve tempo de encontrar a mulher ideal. Ele diz que "se guardou" esse tempo todo para a pessoa ideal. Ou seja, uma mulher que também tenha "se guardado" para alguém especial.

Em seu site, Daniel convida as pessoas a entrarem em contato, enviando apenas algumas frases sobre si mesmas para dar o pontapé inicial.

"Existem muitas mulheres que se interessam por coisas intelectuais ou acadêmicas e muitas que têm o mesmo nível de experiência que eu. É difícil encontrar alguém que seja ambos. Isso é o que torna essa busca tão difícil e significa que preciso anunciar em todos os lugares. Recebo contatos todos os dias, mas quase nenhum corresponde", conclui Daniel, que segue em sua busca.