• Consejos

    Sólo por hoy I

    Las personas con trastornos o enfermedades mentales, de personalidad , etc, necesitamos anclarnos de una manera estable, lo más estable posible, al presente, al día de hoy. Si logramos vivir un día de cada vez, aunque sea en fracciones de media hora o lo que cada uno pueda, podremos lograr reducir un poco la ansiedad que tanto nos perturba y tanto dolor causa tanto a nuestros allegados como a nosotros. Es por eso que inicio una serie llamada Sólo por hoy donde intentaré explorar cada día ( si puedo) una habilidad o algo que sea bueno que hagamos siempre con el lema Sólo por hoy (lo que no quiere decir…

  • Reflexiones

    Si tú supieras…

    Si la gente supiera cuán fácil puede ser acallar, aunque sea de manera muy temporal, los demonios que llevamos dentro,…Pintar un arcoíris en nuestras mentes…Perfumar nuestras almas con gotas de empatía…Dejaría de dar tantos consejos que nadie ha pedido y se convertiría en la cómplice fáctica de nuestros desesperados intentos por salir adelante…

  • Reflexiones

    Cruzar el límite del dolor

    Seguramente (pongo la mano en el fuego por ello) las personas que tienen un TLP cerca y que se relacionan de manera habitual con él no entiendan por qué, si lo hace, se causa heridas o quemaduras. Es muy sencillo de explicar, por decirlo de alguna manera. Yo personalmente he cruzado los límites (ojo, nunca jamás he intentado suicidarme) y ha sido básicamente por dos motivos: sensación de que controlo algo y descarga de sufrimiento emocional. Cuando en tu vida , y más cuando eres una persona perfeccionista, notas que no tienes control, que las situaciones te superan, acudes a formas erróneas de control pero que en ese momento tú…

  • Reflexiones

    Deshojando la margarita de la duda

    Al final una nunca sabe qué es mejor o qué es menos malo: si decir que no estás bien cuando no lo estás o callarte y hacer como que no te pasa nada y que tan sólo tienes un día un poco bajo… Porque al final una se da cuenta de que muchas veces la preguntan cómo está por cortesía, por educación, por hablar de algo en vez de hablar de algo tan manido como el tiempo… Al final una es que ya peina canas, literalmente, y sabe que en cierto modo la gente pregunta pero no quiere saber, porque si sabe, si responde que está hecha una mierda, se…

  • Reflexiones

    Cerrar etapas y saber decir adiós

    A la hora de decir adiós o de cerrar etapas me declaro incapaz desde todos los ángulos de hacerlo. No sé, no puedo, siento que un cierre es un quedarme suelta y desvalida, un desvincularme de lo que más o menos (a veces más menos que más)me une a la vida y las cosas y las personas. Seguramente es una forma de pensar que tengo una historia que no está sólo hecha de jirones o de dolor o de malos ratos o de maltrato psicológico… Pero seguramente sí que hay que decir hasta pronto o (hasta )nunca o adiós a personas que nos tratan mal o para los que somos…

  • Reflexiones

    Crear y recrear para vivir.

    ¿Alguna vez habéis usado la vía creativa para liberar esa tensión con la que no sabemos lidiar? Yo tengo dos manos izquierdas y las dos de madera para hacer trabajos manuales que valgan la pena, pero hay una persona muy especial que con sus manos y su creatividad hace maravillas con objetos que se podrían dar por inservibles. Os invito a visitar su blog y aprender de lo que ella hace, fácil de imitar y con materiales muy asequibles. https://www.recicl-art.com/es/ Espero que os guste y lo disfrutéis y saquéis ideas para relajaros con manualidades.

  • Reflexiones

    Estar, hablar y actuar.

    Tres palabras para tener en cuenta en la vida cotidiana. Estar en la vida de una persona. Decir “te quiero” sabiendo lo que dices y que ese “te quiero” te compromete con la persona a la que se lo has dicho. Actuar, es decir, hechos y no sólo palabras. Las palabras comprometen, nunca me cansaré de repetirlo. Y te comprometen aún más cuando a la persona enferma le dices que cuente contigo o que nunca estará sola o que estarás a su lado…Si te compromete con una de las llamadas personas “normales” con un enfermo mental mucho más, porque le estás dando unas esperanzas que , si no cumples, le…

  • Reflexiones

    Un eterno “sí pero no”

    No sé si esto que voy a contar es habitual en pacientes borderline o de otras patologías mentales, pero me ocurre algo bastante “curioso”: una opinión o un pensamiento no me dura ni un minuto, porque al minuto 1 con 1 segundo entra en mi mente la idea contraria y me parece igualmente sostenible. Hablo, claro está, de ideas que no se pueden considerar como valores, claramente. Por ejemplo, siempre he mantenido la misma línea de pensamiento y de creencias respeto al aborto, a la pena de muerte, a los valores como la familia, la educación , el lograr las cosas por uno mismo con su esfuerzo, la política, etc.…

  • Reflexiones

    Una realidad percibida de manera “especial”

        Hace un tiempo un lector me escribió (pido disculpas por haber tardado en responder pero la cuestión no era baladí) y su pregunta viene a ser algo así como que si los TLP ( y yo diría que un poco por extensión casi todas las enfermedades mentales) vemos las cosas de manera diferente a como ocurren realmente, por así decirlo…Esto es complejo porque seguramente la respuesta inmediata es “no, no las vemos de manera diferente”. Quizás la interpretamos de manera distinta porque somos personas , no me cansaré de repetirlo, con el 90 por cien de nuestro cuerpo con quemaduras de tercer grado (trasladado al ámbito emocional) y…

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