OFF TOPIC : La vida es un Huevo

Un huevo.


Fue un accidente de auto. Nada particularmente destacable, pero fatal sin duda. Dejaste a una esposa y dos hijos. Los paramédicos hicieron su mejor esfuerzo por traerte de vuelta, pero no había nada que hacer. Tu cuerpo estaba completamente destrozado, fue mejor así, créeme.

Y entonces me viste.

—¿Qué… qué ocurrió? —me preguntaste—, ¿dónde estoy?

—Moriste —te dije de una vez. No hay por qué andar con rodeos.

—Había un… un camión, y se estaba saliendo del camino…

—Un choque.

—¿Morí?


—Pero no te sientas mal por eso. Todos mueren.

Miraste alrededor. No había nada, sólo tú y yo. —¿Qué es este lugar? —me preguntaste—. ¿Es lo que hay después de la vida?

—Más o menos —te respondí.

—¿Eres Dios?

—Sí, lo soy —te dije, para tu estupefacción.

—Mis hijos… mi esposa…

—¿Qué con ellos?

—¿Estarán bien?

—Me gusta eso. Apenas moriste y tu mayor preocupación es tu familia. Eso es bueno.

Me miraste fascinado. Para ti no me veía como Dios, me veía como cualquier hombre. Alguna vaga figura de autoridad. Más un profesor de gramática que el Todopoderoso.

—No te preocupes —te dije—, estarán bien. Tus hijos te recordarán como alguien perfecto en todos los sentidos. No tuvieron tiempo para guardarte algún rencor. Tu esposa se lamentará en público, pero secretamente sintiéndose aliviada. Para ser sincero, tu matrimonio estaba desmoronándose. Si te sirve de consuelo, se sentirá muy culpable por sentirse aliviada.

—Ah… Entonces, ¿qué pasa ahora?, ¿podré ir al Cielo o al Infierno o algo así?

—A ninguno. Reencarnarás.

—Vaya —murmuraste—, los hindúes tenían razón.

—Todas las religiones tienen razón a su manera. Ven conmigo.

Seguiste preguntando mientras paseábamos por el vacío. —¿Dónde vamos?

—A ningún lugar en particular. Es agradable caminar mientras hablamos.

—¿Cuál sería el punto de esto? —no demoraste en preguntarme—. Cuando renazca, seré como un pizarrón en blanco, ¿no? Un bebé. Y así toda mi experiencia y lo que hice en esta vida no importará.

—Te equivocas, tienes contigo el conocimiento y experiencias de todas tus vidas pasadas, sólo que no lo recuerdas ahora mismo —paré de caminar y te tomé por los hombros—. Tu alma es más hermosa, magnífica y gigante de lo que puedas imaginar. Una mente humana puede contener apenas una fracción de lo que eres. Es como meter tu dedo en un vaso de agua para ver si está caliente o frío. Pones una pequeña parte de ti en el vidrio, y cuando lo quitas, consigues toda la experiencia que tenía.

»Has sido un humano por los últimos 34 años, en estos instantes no puedes sentir el resto de tu inmensa conciencia. Pero si nos quedáramos aquí por más tiempo, comenzarías a recordar todo. Claro que no tendría sentido hacer eso entre cada vida.

—Supongo que habré reencarnado infinidad de veces…

—Oh sí, muchas veces, y en muchas vidas distintas. Esta vez reencarnarás en una campesina china del año 540 d. C.

—No, ¿qué? —tartamudeaste—, ¿me enviarás al pasado?

—Pues, técnicamente. El tiempo, como lo conoces, sólo existe en tu universo. Las cosas son diferentes de donde vengo.

—¿De dónde vienes? —curioseaste.

—¡Oh claro! —te empecé a explicar—. Vengo de algún lugar… un lugar distinto a éste. Donde hay otros como yo. Sé que querrás saber cómo es ahí, pero sinceramente no entenderías.

Estabas algo decepcionado. —Pero en tal caso, si reencarno en otros lugares y épocas, ¿podría interactuar conmigo mismo en algún momento?

—Seguro. Ocurre todo el tiempo. Con ambas vidas sólo preocupadas de su propia existencia, nunca te percatas de ello.

—¿Cuál sería el punto? —reiteraste.

—¿Lo dices en serio?, ¿me preguntas por el sentido de la vida?… ¿No te parece muy trillado?

—Es una pregunta razonable —insististe.

Te miré a los ojos. —El sentido de la vida, la razón por la que hice este gran universo, es para que madures.

—¿Te refieres a la raza humana?, ¿quieres que maduremos?

—No, sólo tú. Hice este universo para ti. Con cada nueva vida creces y maduras, y aumentas tu intelecto.

—¿Qué hay de los demás?

—No hay nadie más —te dije—. En este universo, no existe nada más que tú y yo.

Palideciste. —Pero toda la gente en la Tierra…

—Todos son tú. Diferentes encarnaciones de ti.

—Espera, ¡¿soy todos?!

—Ahora lo vas entendiendo —te dije, con una palmadita de felicitación en la espalda.

—¿Soy cada humano que ha vivido?

—O que vivirá, sí.

—¿Soy Abraham Lincoln?

—Y eres John Wilkes Booth, también —agregué.

—¿Soy Hitler? —me preguntaste, cohibido.

—Y eres los millones que mató.

—¿Soy Jesús?

—Y eres cada uno que cree en él. —Quedaste en silencio.

Cada vez que victimizaste a alguien —empecé—, te victimizaste a ti. Cada acto de bondad que has hecho, te lo hiciste a ti. Cada momento feliz y triste que ha sido experimentado por cualquier ser humano, fue, o será, experimentado por ti.

—¿Por qué?

—Porque algún día serás como yo. Porque eso es lo que eres, uno de mi clase. Eres mi hijo.

—Vaya… —me dijiste incrédulo—. ¿Quieres decir que soy un dios?

—No, aún no. Eres un feto. Seguirás creciendo. Una vez que hayas vivido cada vida humana en todos los tiempos posibles, habrás crecido lo suficiente para nacer.

—Entonces todo el universo —me dijiste— es…

—Una especie de huevo —te respondí—. Ahora es tiempo de irte a tu próxima vida.

Y con eso, te envié hacia tu destino.

Crea tu propia CDN con Google App Engine

Cómo crear tu propio CDN


Content delivery network (CDN) es una red de distribución de contenidos a través de internet que cooperan en forma transparente para trasmitir contenido estático más cercano a los usuarios finales, la mayoría de la veces su propósito es mejorar el rendimiento y escalabilidad.





La mayoría de los sitios web más grandes utilizan redes de distribución de contenidos (CDN's) para hostear la mayor parte de su contenido estático, especialmente imágenes, hojas de estilo, archivos para descargar y otros contenidos. La razón por la cual hacen esto es porque mientras menos contenido hostean tendrán menos carga de trabajo sus servidores, y dichos contenidos estáticos estarán en CDN’s próximas al usuario final mejorando el tiempo de descarga. El CDN más famoso es probablemente Akamai, que casi tiene su propia internet paralela. Akamai y otros proveedores de CDN’s son muy costosos, por lo que resulta complicado acceder a ellos.

Gracias a Google ahora cualquiera puede tener su propia CDN de forma gratuita alojado en los servidores de Google. Es fácil configurar y almacenar imágenes, hojas de estilo, archivos de descargas, etc. Ahora en lugar de almacenar todo ese contenido en tu propio sitio puede hacerlo en los servidores de Google ahorrando carga de trabajo de sus servidores (y consumiendo mucho menos ancho de banda de su cuenta de hosting) y las velocidades de descarga serán mucho mejores para los usuarios finales.

¿Qué es Google App Engine?

Usando Google App Engine puede ejecutar aplicaciones web en los servidores de Google. Esto significa que puede beneficiarse de la enorme granja de servidores de Google distribuida en todo el mundo, lo cual implica una muy fácil escalabilidad e integración con aplicaciones de Google. Google App Engine es una respuesta los servicios exitosos S3 (para almacenamiento) de Amazon y EC2 (para computing).

Actualmente Google App Engine se encuentra en beta, pero está abierto para que cualquier persona pueda participar, todo lo que necesitas es una cuenta de Google y un teléfono celular. Lo que se obtiene es 500 MB de almacenamiento gratuito y hasta 5 millones de páginas vistas al mes, si utiliza más de esto hay pequeños costos por pagar. El costo de estos recursos adicionales son casi los mismos que los de Amazon S3.

Cómo crear tu propio CDN

Para utilizar Google App Engine como tu propio CDN hay que instalar algunas cosas en el equipo y editar algunos archivos de configuración. Todo este trabajo lleva un tiempo, sin embargo, después de tener todo lo que necesita es muy sencillo para subir nuevos archivos a Google. 

Dado que Google App Engine actualmente sólo funciona con el lenguaje de programación Python, usted necesitará para descargarlo e instalarlo. Descargue el archivo de instalación correcto para su sistema operativo desde http://www.python.org/download/ e instale la versión Phyton 2.6.2. Descargue e instale el SDK de Google App Engine de http://code.google.com/appengine/downloads.html. El SDK es necesario para escribir y enviar las solicitudes a Google. Utilice la configuración por defecto al instalar el SDK. 

Regístrese en appengine.google.com, para esto necesitas una cuenta de correo de google y un celular. Una vez cumplido los requisitos solo basta con hacer clic en el botón "Crear una solicitud" y dar un nombre a su solicitud (llamado "Identificador de aplicación"). Este nombre debe ser único entre todos los usuarios de aplicaciones, en mi caso usé “4visiones". Guarde su nueva solicitud. Después de esto tiene que especificar su número de celular. Google le enviará un SMS con un código de verificación que deberá ingresar en el sito. Esto confirma que usted es el propietario de la cuenta de Google App Engine.

Descargue el archivo http://4visiones.appspot.com/files/4visiones.zip (alojado en mi CDN) y descomprimirlo en su disco duro. Si lo desea, puede cambiar el nombre del directorio descomprimido de "4visiones" al nombre de su propia aplicación. No es realmente importante pero ayuda a organizar las cosas para el futuro. 

Utilice un editor de texto para editar el archivo app.yaml en el directorio 4visiones. Cambie “application: 4visiones” por “application: " y guarde los cambios. Esto es usado por Google App Engine para especificar que archivos subir. Ahora puede agregar las imágenes, hojas de estilo, archivos, vídeos, etc que desee cargar en Google a las carpetas del directorio 4visiones. 

Ponga todas las imágenes en la carpeta /images, las hojas de estilo en /Stylesheets, etc. También es posible crear cualquier número de subcarpetas dentro de las mismas. Una vez que preparó todo descargue http://4visiones.appspot.com/files/deploy_4visionescdn.bat y ábralo con un editor de texto. Este archivo tiene que apuntar al directorio de instalación de Phyton, al del SDK de Google y a su directorio. 


Si ha instalado el SDK de Google y Phyton en C:\Archivos de programa entonces no tienes que preocuparte, sólo cambia la última parte del archivo para que apunte a tu directorio 4visiones.Haga doble clic en el archivo recién cambiado deploy_4visionescdn. bat para subir todos los archivos del directorio 4visiones a Google. 
La primera vez hay que especificar su nombre de usuario de google y la contraseña. 

Listo, ahora tienes tu propio CDN! Vaya a .appspot.com/images/turnitos.com/forum.gif (en mi caso http://4visiones.appspot.com/images/turnitos.com/forum.gif) para probar que funciona. Para usar los archivos que subas a tu cuenta de Google App Engine sólo tenés que utilizar la URL al archivo (http://4visiones.appspot.com/images/turnitos.com/forum.gif por ejemplo) en tu sitio.

En cualquier momento se pueden agregar nuevos archivos (imágenes, hojas de estilo, etc) o subdirectorios a la carpeta 4visiones, solo ejecute el archivo deploy_4visionescdn.bat para subirlos. Si elimina los archivos de su directorio 4visiones y luego ejecuta el archivo bat, estos se eliminarán de la aplicación Google.

También podés ver las estadísticas de tu aplicación en Google (appengine.google.com). Por ejemplo, la cantidad de ancho de banda y espacio en disco que está utilizando, etc.

logueo y consulta Twitter OAuth API V1.1

Autenticación de una línea de tiempo del usuario de Twitter OAuth API V1.1

Este tutorial está diseñado para ayudar a cualquier persona que esté usando o quiere crear un feed de Twitter personalizado que necesita para autenticar acceso de sólo lectura básica para cualquier línea de tiempo de usuario público con Twitter OAuth, API V1.1.
API V1.1 ha estado alrededor por un tiempo, pero a partir de
5 º 2.013 de marzo11 de junio 2013, será depreciado y eliminado. Todas las vías de acceso existentes V1 (o "extremos")
seráAhora se apagarán - por lo que si usted está solicitando tweets de un vínculo que se parece a http://api.twitter.com/1/statuses/user_timeline/username.json entonces usted tendrá que migrar a 1.1 tan pronto como sea posible . Acceso a los puntos finales antiguos directa dará un error similar al siguiente: El Twitter REST API v1 ya no está activa. Por favor migrar a API v1.1.https://dev.twitter.com/docs/api/1.1/overview, código: 68
Hay dos pasos para el proceso de autenticación OAuth.
  1. Configuración de una solicitud en Twitter centro dev y conseguir un manojo de llaves.
  2. Realizar una llamada de servidor para el feed de Twitter 1.1, el uso de estas claves para autenticar. Voy a usar el PHP biblioteca TwitterOAuth

Paso 1 - Configurar una aplicación Twitter

Este proceso es sencillo y usted debe tener un juego de llaves a los pocos minutos.
  1. Visita https://dev.twitter.com/apps/ e inicie sesión con su nombre de usuario y contraseña de Twitter. Esto no tiene por qué ser el nombre de usuario o la contraseña de la corriente que necesita el acceso a sólo una cuenta de Twitter que controles.
  2. Seleccione "Crear nueva aplicación" e introduzca los detalles de la aplicación.
    1. El nombre y la descripción puede ser cualquier cosa que te gusta de verdad, pero no se puede usar 'Twitter' en el nombre.
    2. El campo de página web puede ser su sitio web principal y no tiene que ser el lugar donde se encuentran su feed de Twitter o feeds.
    3. URL de devolución de llamada se puede dejar vacío
  3. Introduzca la información y haga clic CAPTCHA de crear
  4. En la siguiente pantalla de detalles, haga clic en "crear mi token de acceso". Es posible que tenga que actualizar la página después de unos segundos si no aparece automáticamente.
  5. Tome nota de la clave del Consumidor, secreto Consumidor, token de acceso y acceso secreto token como destacan a continuación.
twitter-feed-autenticación step2
Una vez que tenga una configuración de aplicación dentro de Twitter, esto se puede utilizar para múltiples líneas de tiempo de usuario en múltiples sitios web - que no es necesario configurar una aplicación por cada cuenta de Twitter o la línea de tiempo del usuario. Sin embargo los límites de velocidad se establecen en 180 solicitudes por 15 minutos ventana, por ficha de acceso.

Paso 2 - Autenticación del RSS Twitter

En primer lugar, diríjase a https://github.com/abraham/twitteroauth y descargar todos los archivos.Usted sólo va a tener que utilizar un puñado de ellos para esta autenticación básica, sino que también podría descargar toda la biblioteca. Una ventaja clave de hacer todo esto en PHP y recomendado por Twitter es que sus tokens de acceso y las claves son enviados en el servidor y no es visible para el cliente.
A continuación, cree un nuevo archivo php, por ejemplo conseguir-tweets.php y utilizar el siguiente código PHP, la sustitución de las 4 teclas, gorjeo nombre de usuario y el número de tweets que quieren pantalla ot. Descargar este archivo junto con la biblioteca TwitterOAuth a una carpeta en el servidor Web y la prueba de conseguir-tweets.php
El PHP:

<?php
session_start();
require_once("twitteroauth/twitteroauth/twitteroauth.php"); //Path to twitteroauth library
$twitteruser = "twitterusername";
$notweets = 30;
$consumerkey = "12345";
$consumersecret = "123456789";
$accesstoken = "123456789";
$accesstokensecret = "12345";
function getConnectionWithAccessToken($cons_key, $cons_secret, $oauth_token, $oauth_token_secret) {
  $connection = new TwitterOAuth($cons_key, $cons_secret, $oauth_token, $oauth_token_secret);
  return $connection;
}
  
$connection = getConnectionWithAccessToken($consumerkey, $consumersecret, $accesstoken, $accesstokensecret);
$tweets = $connection->get("https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=".$twitteruser."&count=".$notweets);
echo json_encode($tweets);
?>



Hooray! usted debe tener los últimos tweets que muestran en. formato JSON. Se podría, por supuesto, obtener tweets a la producción directa de PHP en HTML, pero. Json será útil para cualquier migración de API V1 JavaScript feeds de Twitter.
Echa un vistazo a mi artículo jQuery si usted necesita para crear y estilo de un feed de Twitter de encargo . Si desea crear un feed de Twitter de búsqueda personalizado en lugar de una línea de tiempo de alimentación del usuario, ver a mi búsqueda de Twitter tutorial
Nota 1: Asegúrese de que tiene cURL habilitado en la configuración del servidor que es requerido por la biblioteca OAuth Twitter
Nota 2: Los nuevos límites de velocidad para V1.1 para plazos de usuario son 180 solicitudes por cada ventana de 15 minutos. Dirección IP basada limitado ya no se aplica como lo hizo con las solicitudes no autenticadas. Así que si usted tiene un alto volumen de visitantes a su sitio web, o si desea utilizar el mismo tokens de acceso a través de múltiples sitios y diferentes feeds de Twitter, entonces es probablemente un valor de configuración de almacenamiento en caché programado de tweets .

CommentFB