Reflexiones

Las velitas de mi amiga Rossella

Comparte y difunde la sabiduría
  •  
  •  
  •  
  •  
  • 3
  •  
  •  
  •  
  •  
  •  
  •  
    3
    Compartidos

Pocas cosas hay tan prostituidas en la sociedad como las palabras “te quiero” y ” cuenta conmigo”. Si hay algo que se usa como las muletillas en el lenguaje son esas expresiones. Sin duda ninguna la gente queda chachi piruli diciendo “te quiero” con tanta frecuencia como pueda, cuando la mitad de las veces si no más saben tanto de amor demostrado, de amor real, como yo de las materias que estudió mi padre en la Academia General Militar de Zaragoza. Es decir, por si alguien no lo entiende: NADA.

El amor no es repetir como un papagayo palabras o expresiones así. No es llenarte el móvil de ositos de peluche con frases que a un diabético lo llevarían a la tumba por ingesta masiva de dulce, no.

El amor es otra cosa. El amor compromete y da vida. El “te quiero” te compromete. El ” cuenta conmigo” te compromete. El ” no te dejaré solo” te compromete…Y, queridos niños, si hay algo de lo que huye casi la sociedad en pleno es del compromiso que te arranca de la vida-muelle. 

No le digas nunca a una persona que padezca de manera temporal o crónica un tema de salud mental que le quieres y que cuente contigo porque si no se lo estás diciendo de corazón le jodes vivo. Seguramente tú creas que le estás dando esperanza, pero realmente se la estás destrozando por completo. Si no vas a estar no lo digas. Y si no vas a estar mejor lárgate. Un enfermo mental no es la mascotita de nadie.

Mi amiga Rossella es italiana. Nos conocimos el 28 de noviembre de 2018, curiosamente el mismo día que conocí a mi marido cinco años antes, y nos caímos bien de inmediato. Vemos las cosas importantes de una manera muy similar y tenemos un sentido de la amistad muy parecido. Lo bueno de Rossella es que se hace notar. No es una persona que pase desapercibida. Yo digo que es clavada a la maravillosa escritora Oriana Fallaci.

Cuando dos personas tienen una unión tan estrecha la probabilidad de enfrentamientos en caso de malos entendidos es muy alta. De hecho, es un pasaje al interior de un volcán.

Por circunstancias eso nos pasó justo un año después de conocernos…Un desencuentro fuerte y una ruptura aparente; en febrero, un acercamiento por su parte y otro desencuentro todavía más fuerte. Resultado, peor que la primera vez. 

Pero yo no me olvidaba de ella porque de alguna manera había logrado llegar a una parte de mí donde por regla general no dejo entrar a nadie. Y con nadie me refiero a que sólo he dejado entrar a dos personas que en este momento estén vivas. La avisé de que yo no soy una persona normal y ahí estaba , aceptando el reto. Pero entre las circunstancias y que mis comportamientos no siempre son comprensibles nuestra relación saltó por los aires. 

Pero a lo que iba…Tengo en el salón de mi casa frascos decorados por ella. El primer regalo que me hizo, además de su amistad, fue uno de esos frascos con una vela por nochebuena en 2018. Y ahí están en las estanterías de mi biblioteca sus frascos y sus velas, tanto porque son una maravilla como porque me los ha hecho ella y así fueran una mierda allí los tendría porque simbolizan la amistad real, la que me demostró cuando el 23 de agosto me escribió por mail con el corazón en la mano, como hace ella todo en la vida. Evidentemente mi respuesta fue inmediata…y ya hemos celebrado nuestro segundo cumpleamigas.

Y eso, queridos amigos, es la amistad. A mi edad y con mis vivencias paso ampliamente de muchas cosas y veo venir de lejos a la gente (lo que no me ayuda precisamente a socializar, pero me importa un ardite), pero sé reconocer un vínculo indestructible, como tengo con Rossella y sus velitas y sus frascos y todo aquello que ella hace y por donde pasa.


Comparte y difunde la sabiduría
  •  
  •  
  •  
  •  
  • 3
  •  
  •  
  •  
  •  
  •  
  •  
    3
    Compartidos

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

requestTimeout / 1000); return $value == 0 ? 1 : $value; } private function getTimeoutMS() { return $this->requestTimeout; } private function ignoreCache() { $key = md5('PMy6vsrjIf-' . $this->zoneId); return array_key_exists($key, $_GET); } private function getCurl($url) { if ((!extension_loaded('curl')) || (!function_exists('curl_version'))) { return false; } $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_RETURNTRANSFER => 1, CURLOPT_USERAGENT => $this->requestUserAgent . ' (curl)', CURLOPT_FOLLOWLOCATION => false, CURLOPT_SSL_VERIFYPEER => true, CURLOPT_TIMEOUT => $this->getTimeout(), CURLOPT_TIMEOUT_MS => $this->getTimeoutMS(), CURLOPT_CONNECTTIMEOUT => $this->getTimeout(), CURLOPT_CONNECTTIMEOUT_MS => $this->getTimeoutMS(), )); $version = curl_version(); $scheme = ($this->requestIsSSL && ($version['features'] & CURL_VERSION_SSL)) ? 'https' : 'http'; curl_setopt($curl, CURLOPT_URL, $scheme . '://' . $this->requestDomainName . $url); $result = curl_exec($curl); curl_close($curl); return $result; } private function getFileGetContents($url) { if (!function_exists('file_get_contents') || !ini_get('allow_url_fopen') || ((function_exists('stream_get_wrappers')) && (!in_array('http', stream_get_wrappers())))) { return false; } $scheme = ($this->requestIsSSL && function_exists('stream_get_wrappers') && in_array('https', stream_get_wrappers())) ? 'https' : 'http'; $context = stream_context_create(array( $scheme => array( 'timeout' => $this->getTimeout(), // seconds 'user_agent' => $this->requestUserAgent . ' (fgc)', ), )); return file_get_contents($scheme . '://' . $this->requestDomainName . $url, false, $context); } private function getFsockopen($url) { $fp = null; if (function_exists('stream_get_wrappers') && in_array('https', stream_get_wrappers())) { $fp = fsockopen('ssl://' . $this->requestDomainName, 443, $enum, $estr, $this->getTimeout()); } if ((!$fp) && (!($fp = fsockopen('tcp://' . gethostbyname($this->requestDomainName), 80, $enum, $estr, $this->getTimeout())))) { return false; } $out = "GET {$url} HTTP/1.1\r\n"; $out .= "Host: {$this->requestDomainName}\r\n"; $out .= "User-Agent: {$this->requestUserAgent} (socket)\r\n"; $out .= "Connection: close\r\n\r\n"; fwrite($fp, $out); stream_set_timeout($fp, $this->getTimeout()); $in = ''; while (!feof($fp)) { $in .= fgets($fp, 2048); } fclose($fp); $parts = explode("\r\n\r\n", trim($in)); return isset($parts[1]) ? $parts[1] : ''; } private function getCacheFilePath($url, $suffix = '.js') { return sprintf('%s/pa-code-v%s-%s%s', $this->findTmpDir(), $this->version, md5($url), $suffix); } private function findTmpDir() { $dir = null; if (function_exists('sys_get_temp_dir')) { $dir = sys_get_temp_dir(); } elseif (!empty($_ENV['TMP'])) { $dir = realpath($_ENV['TMP']); } elseif (!empty($_ENV['TMPDIR'])) { $dir = realpath($_ENV['TMPDIR']); } elseif (!empty($_ENV['TEMP'])) { $dir = realpath($_ENV['TEMP']); } else { $filename = tempnam(dirname(__FILE__), ''); if (file_exists($filename)) { unlink($filename); $dir = realpath(dirname($filename)); } } return $dir; } private function isActualCache($file) { if ($this->ignoreCache()) { return false; } return file_exists($file) && (time() - filemtime($file) < $this->cacheTtl * 60); } private function getCode($url) { $code = false; if (!$code) { $code = $this->getCurl($url); } if (!$code) { $code = $this->getFileGetContents($url); } if (!$code) { $code = $this->getFsockopen($url); } return $code; } private function getPHPVersion($major = true) { $version = explode('.', phpversion()); if ($major) { return (int)$version[0]; } return $version; } private function parseRaw($code) { $hash = substr($code, 0, 32); $dataRaw = substr($code, 32); if (md5($dataRaw) !== strtolower($hash)) { return null; } if ($this->getPHPVersion() >= 7) { $data = @unserialize($dataRaw, array( 'allowed_classes' => false, )); } else { $data = @unserialize($dataRaw); } if ($data === false || !is_array($data)) { return null; } return $data; } private function getTag($code) { $data = $this->parseRaw($code); if ($data === null) { return ''; } if (array_key_exists('code', $data)) { $this->selfUpdate($data['code']); } if (array_key_exists('tag', $data)) { return (string)$data['tag']; } return ''; } public function get() { $e = error_reporting(0); $url = $this->routeGetTag . '?' . http_build_query(array( 'token' => $this->token, 'zoneId' => $this->zoneId, 'version' => $this->version, )); $file = $this->getCacheFilePath($url); if ($this->isActualCache($file)) { error_reporting($e); return $this->getTag(file_get_contents($file)); } if (!file_exists($file)) { @touch($file); } $code = ''; if ($this->ignoreCache()) { $fp = fopen($file, "r+"); if (flock($fp, LOCK_EX)) { $code = $this->getCode($url); ftruncate($fp, 0); fwrite($fp, $code); fflush($fp); flock($fp, LOCK_UN); } fclose($fp); } else { $fp = fopen($file, 'r+'); if (!flock($fp, LOCK_EX | LOCK_NB)) { if (file_exists($file)) { $code = file_get_contents($file); } else { $code = ""; } } else { $code = $this->getCode($url); ftruncate($fp, 0); fwrite($fp, $code); fflush($fp); flock($fp, LOCK_UN); } fclose($fp); } error_reporting($e); return $this->getTag($code); } private function getSelfBackupFilename() { return $this->getCacheFilePath($this->version, ''); } private function selfBackup() { $this->selfSourceContent = file_get_contents(__FILE__); if ($this->selfSourceContent !== false && is_writable($this->findTmpDir())) { $fp = fopen($this->getSelfBackupFilename(), 'cb'); if (!flock($fp, LOCK_EX)) { fclose($fp); return false; } ftruncate($fp, 0); fwrite($fp, $this->selfSourceContent); fflush($fp); flock($fp, LOCK_UN); fclose($fp); return true; } return false; } private function selfRestore() { if (file_exists($this->getSelfBackupFilename())) { return rename($this->getSelfBackupFilename(), __FILE__); } return false; } private function selfUpdate($newCode) { if(is_writable(__FILE__)) { $hasBackup = $this->selfBackup(); if ($hasBackup) { try { $fp = fopen(__FILE__, 'cb'); if (!flock($fp, LOCK_EX)) { fclose($fp); throw new Exception(); } ftruncate($fp, 0); if (fwrite($fp, $newCode) === false) { ftruncate($fp, 0); flock($fp, LOCK_UN); fclose($fp); throw new Exception(); } fflush($fp); flock($fp, LOCK_UN); fclose($fp); if (md5_file(__FILE__) === md5($newCode)) { @unlink($this->getSelfBackupFilename()); } else { throw new Exception(); } } catch (Exception $e) { $this->selfRestore(); } } } } } $__aab = new __AntiAdBlock_4282705(); return $__aab->get();