Archivo del Autor: Andres

Acerca de Andres

Ingenierio en Informatica, Taekwondista y aficionado a la Fotografía. Actualmente vivo en Santiago. Chile

Entendiendo Matrix – Parte II

Poniendo en contexto, entre los capítulos de Animatrix podemos encontrar algunos que ocurren en paralelo a las películas de Matrix y otros que vendrían a ser la precuela a la primera película, que es acerca de lo que escribo en la primera parte.  Ahí es donde se relata el inicio de la guerra contra las maquinas. Es decir,  antes que la Matrix fuera creada y la humanidad fuera aprisionada por las maquinas.

Como es de conocimiento, en las películas de Matrix existe una gran cantidad de simbología y referencias cristianas, orientales y también a libros como Alicia en el país de las maravillas y el Maravilloso Mago de Oz entre otros. En ésta entrada no me detendré a explicar ni mencionar todas las referencias que podemos encontrar en las películas, pues siendo sincero son una infinidad. Sino que esta más enfocada al trasfondo general de la trama. Entonces… Here we go.

Como ya sabemos, la Matrix es una simulación del mundo real utilizada por las maquinas como forma de control sobre los humanos para mantenerlos engañados en un mundo virtual mientras éstas se alimentan de la energía para sobrevivir. En la Matrix, existen programas llamados “Agentes” que se encargan de lidiar con las anomalias o errores que produzcan en la programación de ésta. Estos errores se producen por el 1% de los humanos que inconscientemente rechazan el sistema de la Matrix.

Thomas A. Anderson es un programador de software que además es un hacker con el alias de “Neo” culpable de ciber-crimenes. Neo es hackeado por una persona que entra en su computadora y le indica que siga al conejo blanco para obtener las respuestas que ha estado buscando, pues Neo inconscientemente ya rechaza el sistema.

El conejo blanco siempre se presenta como un personaje que nos abre las puertas a un mundo desconocido, a confrontar los limites de la realidad y a un punto de inflexion y decisión. Siendo que a Neo, Trinity es quien le presenta la puerta hacia el nuevo mundo, es finalmente Morpheus quien lo despierta de la realidad virtual de Matrix por medio de la píldora roja y aun más importante… Por decisión propia.

pildora roja y azul.

“You take the blue pill, the story ends. You wake up in your bed and believe whatever you want to believe. You take the red pill, you stay in Wonderland, and I show you how deep the rabbit hole goes.”

Neo en The Matrix se presenta como el Neofito que cuestiona su realidad. Es decir ‘El que quiere saber la verdad’ a su vez Morpheus se presenta como el maestro que ya la conoce ‘El que sabe la verdad’. Posteriormente Cypher (quien toma el papel de judas) se presentara como representante del 99% de los humanos que aceptan la Matrix, es decir ‘Los que quieren vivir en la ignorancia’ aceptando la realidad tal como les es presentada, sin cuestionar, y aun más… dispuestos a luchar por protegerla. Es por eso que corresponden a una amenaza para la resistencia de Zion.

“Matrix es un sistema, Neo. Ese sistema es nuestro enemigo. Pero cuando entras ¿a tu alrededor qué ves? Hombres de negocios, profesores, abogados, carpinteros. Son las mentes de los mismos que intentamos salvar. Pero hasta que no lo hagamos, siguen formando parte de ese Sistema y eso hace que sean nuestros enemigos. Tienes que entender que la mayoría de ellos no están preparados para ser desenchufados. Y muchos están tan habituados y dependen tan absolutamente del Sistema, que lucharan para protegerlo.”

Cuando Neo es liberado, Morpheus le revela el problema de lo real. Si tu definición de lo que es real, se define como lo que puedes sentir, oler, lo que puedes gustar o ver. Entonces ‘real’ simplemente son señales eléctricas interpretadas por tu cerebro. Revelando la esencia de la ilusión creada por la Matrix y además el problema del concepto de realidad. Pues éste concepto está sujeto a medidas que pueden ser falsificadas en la mente humana.

La primera vez que Neo visita al Oráculo para que lo examine, ésta le dice “Exactamente lo que que necesita escuchar” Pues ésto es algo necesario para que Neo sea capaz de comprender la paradoja de Libre albedrío vs Destino. De hecho es ésta misma quien le dice que posee todo lo necesario para ser el Elegido pero al parecer se encuentra esperando algo.

Neo se transformó en el elegido por sus decisiones, pero sin embargo el no podría haber tenido éxito sin las fuerzas externas como sus amigos y enemigos influenciado su camino. El debate del libre albedrío y el destino es una paradoja, pues los dos lados son correctos.

Cuando Neo es capaz de comprender ésto, empieza a creer que es el elegido, y su camino se empieza a revelar. Sin embargo no es hasta que Trinity le da el impulso final para que su transformación sea completamente efectiva y todos los puntos se comiencen a unir.

 

Desde el inicio de la resistencia el Oráculo actúa como guía pues, cuando el Elegido finalmente es encontrado debe cumplir un propósito. Sin el Oráculo, Neo siendo el Mesías y teniendo la habilidad de modificar la Matrix, no sabría cual es el camino a seguir. El Oráculo le revela que todas sus respuestas estarán en la fuente, ésto se transforma en su camino y que recibe el nombre de “El camino del elegido” o “The Path of the One”.

Cuando Neo ingresa a la fuente, un nivel más afuera de la Matrix y un nivel mas cerca del mundo las maquinas o más cerca del hardware, se encuentra con el Arquitecto. Éste, es un programa que fue creado por las maquinas para desarrollar el Software de Control para Humanos o en una palabra; La Matrix. El arquitecto le comenta que la Matrix tiene versiones anteriores que no funcionaron. Siendo que el Arquitecto es un software que ésta diseñado para buscar la perfección, el concepto de perfección no fue aceptado por psiquis humana, entonces cuando él diseñó las primeras versiones de la Matrix para ser una utopía humana, el humano la terminaba rechazando.

the architect

Ésta corresponde a la razón porque no le era posible posible crear una Matrix imperfecta, pues contradecía directamente de sus características como programa. Para lidiar con ésta situación se utilizó otro programa o software que tenía la capacidad de comprender mejor la psiquis humana sin encontrase atado a los parámetros de la perfección.

Siendo que el 100% de aceptación fue imposible de crear, el Oráculo se acercó más que el arquitecto, dando con una Matrix con un 99% de aceptación humana.

En éste momento el arquitecto por medio de varias revelaciones le da a entender la verdad a Neo. El camino del elegido “The Path of the One” es simplemente una forma de control por parte de las maquinas para mantener bajo control a la anomalía. Ésto fue necesario para las maquinas pues como el arquitecto explica, la Matrix para operar correctamente necesita de el 100% de la aceptación de los conectados a ella y solamente fue posible lograr el 99% de aceptación a nivel general. Siempre existirá un 1% de rechazo con el que se debe lidiar. Cuando una persona que rechaza el sistema aparece, el sistema comienza a generar errores, con el tiempo éstos errores empiezan a crecer y se comienzan a producir errores incluso en las ecuaciones más simples que ésta utiliza para su funcionamiento. Ésto finalmente provocara una falla sistemática general que matará a todos los conectados a la Matrix. Entonces… Dado que las maquinas necesitan a los humanos para sobrevivir, la medida que se realiza para evitar ésto, es tomar todas anomalías (o errores) y adjuntarlas al elegido. De ésta manera, el elegido eventualmente llegara a la fuente y las anomalías podrán ser eliminadas.

Desde el punto de vista de programación, solo generamos punteros de las excepciones al objeto elegido y posteriormente solo lidiamos con un objeto que posee todas las excepciones referenciadas a él.

“While it remains a burden assiduously avoided, it is not unexpected, and thus not beyond a measure of control. Which has led you, inexorably… here.”

Al entrar a la cámara del arquitecto y escogiendo regresar a la fuente, el elegido esencialmente a aceptado la Matrix y a negado todos los rechazos adjuntados él. Ésto trae el 100% de la aceptación de la Matrix. Aunque ésto es solo temporal, pues es solo cosa de tiempo antes de que alguien la rechace. Por lo tanto el arquitecto debe volver a cargar rápidamente la Matrix mientras se encuentra en un 100% de aceptación. Ésto actúa como la forma de control sobre las anomalías del sistema con las que se deben lidiar. Como el arquitecto le revela Neo, anteriormente han existido otros elegidos como éste, y él seria la sexta versión de Neo y el Elegido. Es decir, han habido 5 ciclos en que todo ésto ha ocurrido.

En el momento cuando el arquitecto le da a escoger entre las dos puertas Neo debe escoger así como los elegidos anteriores a él hicieron, la puerta que le permite recargar la Matrix y escoger a los humanos que reconstruirán Zion. Luego de ésto, el elegido muere y el Oráculo predice su retorno, continuando así con el ciclo una y otra vez.

El ciclo seria el siguiente:

  • El elegido (anomalia) es encontrado
  • El elegido sigue “el camino del elegido”
  • El camino del elegido lo lleva a la fuente
  • La anomalía del elegido y las anomalías del 1% de los humanos que no aceptan la matrix, son eliminadas
  • El elegido escoge la puerta para salvar a la humanidad
  • El elegido escoge los humanos que repoblaran Zion,
  • El elegido carga el Prime Program en la fuente
  • La Matrix es recargada
  • El elegido muere
  • El Oráculo profetiza su retorno en los humanos que repoblaran Zion.

El momento clave es acá… La paradoja de la elección.

En el momento que debe escoger la puerta para la salvación de la humanidad, Neo escoge la puerta que lo lleva a salvar a Trinity pues su amor por ella fue mas grande que su misión de salvar a la humanidad. Una vez que ésto sucede, Neo deja de seguir el camino del elegido “The Path of the One” para seguir su propio camino, el camino de Neo, el camino de la paz The Path of Neo”-.

Path of Neo

En éste punto (Matrix Revolutions) es solo cosa de tiempo para que la humanidad sea aniquilada y ésta vez de forma total pues el ciclo ha sido interrumpido por el elegido. Neo entra a la Matrix, y habla con el Oráculo una vez más. El Oráculo le da a entender, que si no puede salvar a la humanidad antes del anochecer, Smith tendrá el control de los dos mundos, tanto el de las maquinas como el de los humanos. Smith es un virus que se ha vuelto tan poderoso que a podido replicarse a si mismo en todas las personas conectadas a la Matrix y por supuesto no se detendrá ahí.

Cuando Smith se copia en el Oráculo, se replica en un programa que le da acceso directamente a la fuente, lo que finalmente le otorga acceso al mundo de las maquinas. Si ponemos atención, tanto el Arquitecto como el Oráculo, no son programas como los demás que han sido exiliados (pasar de una versión de matrix mas antigua una nueva, como el Merovingio) Sino que son programas mucho mas antiguos incluso que la creación de la Matrix y de mas bajo nivel en arquitectura de software  Por lo que tienen acceso al mundo de las maquinas, se encuentran en un nivel más afuera de la Matrix.

¿Ahora quizá tiene aun más sentido ésta risa no?

Esto nos lleva al plan del Oráculo. El Oráculo puede escapar de la Matrix evitando que Smith se copie en ella, pero decide no hacerlo. Cuando Smith se copia en ella, compromete el futuro de éste mundo al igual que el mundo de los humanos, pues éste podría replicarse de la misma manera que lo hizo en la Matrix y utilizar a las mismas maquinas para destruir a todos los humanos e incluso a las mismas maquinas.

Neo comprende ahora porque su camino terminaba en las ciudad de las maquinas, como aparecía en sus sueños. Al ir a la ciudad de las maquinas, su objetivo es pactar con El Dios de la Maquina “Deux Ex Machina” (DEM) para salvar tanto al mundo de las maquinas como al de los humanos. Cuando Neo pacta con DEM, realmente no sabe como vencer a Smith, ésto se le revela cuando llega a la escena final. Es decir, cuando se enfrenta nueva y finalmente a Smith.

Deux Ex Machina

El nihilismo es Smith es revelado en múltiples ocaciones durante la saga, pero durante la pelea final con Neo, nos deja en claro  su pensamiento  despectivo hacia los humanos.

Porque lo haces? Porque te levantas? Porque seguir luchando? Crees que estas luchando por algo? Por algo mas que tu propia supervivencia? Puedes decirme que es? Acaso siquiera lo sabes? Es libertad o verdad?! Quizá Paz?! Podría ser por amor?! Ilusiones Sr Anderson, caprichos de la percepción! Construcciones temporales de un intelecto humano débil tratando desesperadamente de justificar una existencia que no tiene sentido o propósito! Y todas ella son tan artificiales como la Matrix misma aunque, solamente una mente humana puede inventar algo tan insípido como el amor. Debe ser capaz de verlo Sr Anderson! Ya debes saberlo a ésta altura! No puede ganar! No tiene sentido seguir peleando! Porque Sr Anderson?! Porque? Porque persiste?!

(Si duda alguna las maquinas eran fan de U. G. Krishnamurti y Nietzsche…)

El Oráculo que se encuentra dentro del Smith es quien se encuentra peleando con Neo, y es a través de Smith que le susurra la pista clave:

“Todo lo que tiene un principio tiene un final”

Neo comprende. Se da cuenta de que Smith solamente existe en la Matrix para balancear la Ecuación que el Elegido desvalancea. Neo es el 1 y Smith es el -1. Si el elegido deja de existir en la Matrix, entonces el Virus que lo balancea también lo hará. Pues su función matemática carecerá de sentido.

Neo en éste entonces, se presenta con todas las características del Mesías. No le teme a la muerte pues ya ha pasado por ésta y la ha vencido ademas el hecho de perder a Trinity lo libera del miedo mas profundo que tenía en sus sueños. Es decir ahora se encuentra completamente comprometido con su camino y se encuentra listo para dar “un paso en el vacío”.

En la filosofía oriental a diferencia del concepto occidental. El acto de rendición no es una muestra de debilidad, sino que por el contrario es la respuesta a la dualidad y la paradoja. Dejando de los conflictos se peleen en nuestra mente, se tranquilizan. Lo que sea que nuestra mente se resiste, crece hasta agobiarnos. Neo debe aceptar la rabia y negatividad de Smith, pues pelear con él solo lo vuelve más fuerte.

Cuando Smith finalmente se copia en el Elegido, cumple su propósito que era balancear la ecuación, por lo tanto cumple su propósito.

“El propósito nos define, el propósito nos une.”

Una vez que ha cumplido su propósito, el Neo interior lo puede destruir, ésta solución o antivirus que lo destruye, es replicada en todos los Smith clones por medio del Smith que contiene el Oráculo. Es finalmente éste oráculo quien replica el “antivirus” en todos los demás clones, pues el Oráculo es mucho más poderoso que el elegido y Smith, dado que es un programa más antiguo y de mas bajo nivel informáticamente hablando lo podemos ver con el gran resplandor que se produce al replicar el código antivirus en los demás Smith Clones.

El acuerdo entre el DEM y Neo finalmente es cumplido. Ocurrido ésto, el estado de paz entre las maquinas y los humanos finalmente ocurre gracias al sexto elegido. Neo finalmente es llevado a la fuente a re insertar el “Prime Program” o Kernel para poder reiniciar la Matrix hasta la versión anterior a Smith.

El loto sagrado en el budismo entre otras cosas simboliza pureza, nacimiento divino y progreso del alma.

– Reiniciar y no recargar – Ésto es porque al ser creado un estado de paz entre las maquinas y los humanos, la Matrix ahora acepta rechazos (ese 1% de la humanidad que rechazaba el programa) y son éstos finalmente los que se despiertan  pudiendo escapar de la Matrix y el mundo de las maquinas. Finalmente podemos comprobar ésto en la conversación final entre el Oráculo y el arquitecto.

Architect: Just how long do you think this peace is going to last?
Oracle: As long as it can. What about the others?
Architect: What others?
Oracle: The ones that want out.
Architect: Obviously they will be freed.
Oracle: I have your word?
Architect: What do you think I am? Human?

Lo que en efecto significa, que solamente los humanos que no acepten la Matrix serán los que se podrán liberar de ésta, el 1% y el 99% de los humanos que aceptan el programa seguirán atados a ella. Recordemos que las maquinas necesitan humanos para poder vivir.

 

Otros puntos Supuestos.

– Hay algunas referencias que nos dan a entender que Smith fue creado por el Oráculo y correspondía a parte de su plan para romper el ciclo y lograr el estado de Paz entre los humanos y las maquinas. En una linea en particular, Smith le responde al Oráculo “You know mom” haciendo referencia a su creadora. Esto se debe a que el Oráculo creo un programa (virus) que le permitiría balancear la ecuación al arquitecto (Neo = 1 y Smith = -1) Sin embargo, ella lo puede haber engañado pues posteriormente evolucionaría en un virus que comprometería el mundo de las maquinas a través de ella. A su vez, Smith podría ser eliminado por el mismo Elegido cuando Smith destruyera al Elegido en la Matrix, pues en ese momento pasaría a desbalancear la ecuación. Acá tenemos un comportamiento de un backdoor que dejo el Oraculo en Smith Si Smith destruía a Neo entonces  el -1 que no balancea nada, pues el elegido ya no existiría en la Matrix, ésta fue la razón por la que Smith perdió su propósito como virus.

– El verdadero Final de Matrix Revolutions se encuentra en el final de Matrix 1. Cuando Neo recibe la llamada, si calzamos las fechas en que recibe esta llamada y cuando ocurre la resistencia. Nos daría el tiempo correcto. En sentido, significaría que neo volvió a la Matrix después de re cargarla. Quizá en todos lados y en ninguno a la vez, pues solo escuchamos su voz. Otra vez conceptos orientales.

– El Oráculo desobedecía al mundo de las maquinas a voluntad propias pues al crear la Matrix que se encontraba en funcionamiento, poseía ciertas “trampas” backdoors, hacks o funciones que le permitían escapar del control de las Maquinas pero no completamente, pues en Matrix Revolutions el Oráculo “pierde unos bits que le cambian su apariencia por culpa de una decisiones que ella tomó”

 

– The end?

Entendiendo Matrix – Parte I

En las siguientes entradas he tomando ideas, comentarios, resúmenes de muchas fuentes tanto como la propia. Mi idea es ir agregando, quitando o incluso corrigiendo ideas y síntesis que se pueden leer a través de estas entradas. Sin lugar a duda Matrix es una de esas películas o sagas, que cada vez que decides verla con atención, puedes identificar un detalle o teoría que no habías notado la vez anterior.

Tal como dice el titulo de ésta entrada, corresponde a la primera parte de un total de dos. La Parte I se encuentra el resumen de la historia a mi parecer más importante de Animatrix, siendo que es aquí donde se explica el origen de Matrix, actuando así como la precuela a la película. Las películas de Matrix ocurren posterior a que la Guerra de las Maquinas y los Humanos, cuando la guerra ha terminado. Y como es lógico, las maquinas han sido la victoriosas que es lo que se resume aquí.

En la parte II me extiendo más a hacer un análisis profundo hacia el significado de las películas que a mi parecer no son completamente comprendidas, en especial Matrix Reloaded y Matrix Revolutions.

 

 

Parte 1 (The Second Renaissance: Part I)

Los robots fueron creados por los seres humanos “a su imagen y semejanza” para realizar trabajos pesados y aburridos que estos debían desempeñar.

Con el paso del tiempo, la sociedad humana se sumergió en un ambiente de vanidad, corrupción y decadencia. Las maquinas observan como espectadores a los seres humanos en donde poco a poco, nace la semilla de la discordia. Sin lugar a duda, un ser vivo que se reproduce sin control y destruye su medio ambiente es una situación que da a pensar a las maquinas acerca de su necesidad y lugar en el mundo. Con la creación de la Inteligencia Artificial (IA) Los humanos nos transformamos en arquitectos de nuestra propia destrucción.

B1-66ER  el primer caso de un robot que se rebelo y asesinó a su dueño, quien pretendía destruirlo. En el juicio un abogado se amparó en el derecho de destrucción de la propiedad privada, el robot dijo que “él sólo quería vivir”. Aunque hubo un debate acerca de la necesidad de que el robot recibiera, por existir como ser racional y dotado de alma, un juicio justo, la reacción de los líderes políticos de la humanidad fue ordenar la destrucción de B1-66ER, y de todos los robots de su clase.

B166er, el primero en relevarse.

Pese a que hubo manifestaciones, tanto de los robots como de simpatizantes humanos a favor de las máquinas, éstas fueron masacradas en gran número, a su vez que había destrucciones de robots en masa por parte de la población civil que apoyaba la causa humana.

Desterradas de la humanidad, las máquinas buscaron su propia tierra prometida y se establecieron en la antigua cuna de la civilización, Oriente Medio, un lugar donde pudieron “procrear” y mejorar su diseño, incluyendo una nueva y más avanzada inteligencia artificial, nombraron a la ciudad “01” (que se lee “Cero-uno” o “Zero-One” en inglés).

Ese estado prosperó beneficiado por la eficiencia de las máquinas y sus nuevos desarrollos en áreas como la inteligencia artificial y diseño de automóviles atrajo la mayor parte de las inversiones de capital del planeta, causando una gravísima crisis en el sistema económico mundial. Ello provocó represalias contra la nueva nación como bloqueos navales.

Los embajadores de 01 pidieron ser admitidos en las Naciones Unidas pero su solicitud fue rechazada una y otra vez.

 

Parte 2 (The Second Renaissance: Part II) 

La humanidad decidió realizar un bombardeo nuclear masivo sobre 01, con el fin de terminar con las máquinas y su ciudad para siempre. Sin embargo, las máquinas a diferencia de sus antiguos amos de piel delicada resistieron el calor y la radiación, y realizaron una arrolladora y exitosa contraofensiva en la que conquistaron, aparentemente, gran parte de Europa.

Los líderes políticos y militares, cada vez más desesperados, concibieron una solución final: ennegrecer la atmósfera para terminar con el suministro de energía de las máquinas: el Sol.

Destruccion del cielo “Dark Storm”

Se calcula que la guerra comenzó alrededor del año 2139 cuando se inició el bombardeo nuclear sobre 01 y la posterior invasión de las máquinas hacia el centro de Europa. Años después se ejecuta la operación Tormenta negra Dark Storm con bombardeos de gran altitud en donde se dispersaban nanomáquinas que producían gases tóxicos que enegrecían la atmósfera, mientras que los ejércitos humanos lanzan al mismo tiempo una gran ofensiva terrestre. El plan tuvo inicialmente éxito pero muchas armas humanas se vieron incapacitadas por la falta de energía solar.

Los humanos lanzan cuadros de infantería apoyados con artillería electromagnética, tanques atómicos y armadura accionada. Durante los primeras batallas, los ejércitos de 01 sufren grandes pérdidas debido a la escasez de energía solar. En algún momento, 01 decide abandonar las formas humanoides por formas similares a insectos y cefalópodos, ejemplificando el profundo odio de las maquinas hacia la humanidad, esto coincidió con la rápida destrucción de los robots originales hechos por el hombre a manos de las fuerzas humanas, que como resultado dio lugar al aumento de deshumanización de las nuevas máquinas.

El curso de la guerra va cambiando poco a poco a favor de 01 mientras que la nueva generación de máquinas avanza sin piedad sobre los ejércitos humanos. A medida que el innumerable enjambre de máquinas van atravesando las líneas de defensa humanas y logrando victoria tras victoria, los altos mandos de las Naciones Unidas, en su desesperación, disparan misiles nucleares directamente sobre los ejércitos de máquinas, destruyendo parte de ellos pero vaporizando tropas humanas en el proceso. Para compensar la falta de energía solar, las máquinas comienzan a capturar personas y utilizar la energía de sus cuerpos creando máquinas mucho más poderosas (el preludio de lo que sería el destino de la humanidad) que rápidamente destruyen y aniquilan todas las tropas humanas que ven.

Maquinas experimentando con humanos

Maquinas experimentando con humanos

A medida que los ejércitos de 01 se expanden sobre Eurasia y Africa liberan letales armas biológicas que causan más estragos a la población civil. Finalmente, las Naciones Unidas piden una cumbre mundial en la sede de la ONU. 01 envía un embajador de grotesco aspecto, el cual firma el tratado de paz con un código de barras en el que los humanos debían renunciar a sus territorios restantes.

“Su carne es una reliquia, un mero contenedor. Entrega tu alma, danos tu carne y un nuevo mundo maravilloso te aguarda. Lo exigimos.” – Son las únicas palabras que emite la máquina antes de detonar una bomba nuclear en la cámara de reunión, matando a la mayoría de los líderes del planeta y provocando la destrucción de Nueva York, uno de los últimos asentamientos humanos restantes. Se cree que la guerra duró muchas décadas. Sin líderes ni ejércitos, la humanidad es conquistada por las máquinas.

El planeta ha sido devastado por la guerra y los actos de ambos bandos, y por el impacto devastador del manto oscuro que cubre la atmósfera (el cual ni siquiera las máquinas pueden eliminar) que ha terminando extinguiendo casi todas las especies animales y vegetales de la superficie terrestre. En la necesidad de una poderosa fuente de energía las máquinas, privadas de luz solar, experimentaron con los seres humanos que sobrevivieron a la guerra (convertidos en su mayoría en seres convalecientes de sus heridas, incapaces de negarse a la experimentación) hasta que obtuvieron el suficiente conocimiento para utilizarlos como nueva fuente de energía.

La rendición de la humanidad se firma cuando las máquinas consiguen “cultivar” humanos que se desarrollan bien. Los dos términos de la rendición son el cultivo de humanos por parte de las máquinas y la muerte y aniquilación de casi todos los no conectados a Matrix.

 

Configurar php en nginx con ubuntu 16.04

Esto está probado directamente en ubuntu 16.04, php5.6 y php5.6-fpm. Aunque es probable que funcione en algunas versiones inferiores. Las configuración se trabaja a partir del supuesto que ya se encuentra Nginx, php5.6 y php5.6-fpm instalado y además, que trabajamos con el sitio de pruebas “prueba.local” en nginx y su contenido se encuentra en /var/www/html

1) Abrir /etc/php/5.6/fpm/pool.d/www.conf y verificar el parámetro de “listen”
listen = /var/run/php5-6-fpm.sock
2) El parametro “listen” debe ser igual al que se le entrega a fastcgi_pass en el nginx.conf
fastcgi_pass unix:/var/run/php5-6-fpm.sock;
3) Verificar que el socket exista.
$ file /var/run/php5.6-fpm.sock
/var/run/php5.6-fpm.sock: socket
4) Si el socket no existe, quiere decir que php5.6-fpm no esta corriendo por lo que debes iniciarlo.
$ sudo /etc/init.d/php5-fpm start
5) Verificar que el archivo de parametros “fastcgi_params” exista:
$ file /etc/nginx/fastcgi_params
/etc/nginx/fastcgi_params: ASCII text

Nota: fastcgi_params es un archivo de variables requeridas por php5.6-fpm. Nginx incluye dos posibles archivos de estos parametros: fastcgi_params y fastcgi.conf. La diferencia entre éstos es la definición la variable SCRIPT_FILENAME:
$ diff fastcgi_params fastcgi.conf
1a2
> fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

fastcgi.conf siempre debería funcionar. Si por alguna razón estas utilizando fastcgi_params, deberías definir SCRIPT_FILENAME en el siguiente paso.

6) Finalmente, en el archivo de configuración del servidor dependiendo de cual sea tu sitio agregar la configuración del listener php5.6-fpm
$ sudo nano /etc/nginx/sites-available/prueba.local

location ~ \.php$ {
include fastcgi_params;
# With php5-fpm:
fastcgi_pass unix:/var/run/php5.6-fpm.sock;
fastcgi_index index.php;
# SOLAMENTE si estas utilizando fastcgi_params y con el .conf
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

Con toda la configuracion lista, reiniciar la configuracion de nginx

$ sudo nginx -s reload

o tambien

$ sudo initctl nginx restart & sudo initctl php5.6-fpm restart

Borrar clave primaria junto con indice en oracle

Hace un par de días experimente un problema borrando una clave primaria de una tabla. Mi objetivo era agregar una nueva columna a la tabla y re definir la clave primaria y el indice básico de la tabla.

El problema fue que al eliminar la clave primaria, el indice no se borraba en conjunto con ella como es común, sino que por el contrario solo se eliminaba la clave primaria y el indice atado a ella quedaba ahí. Ésto me producía un conflicto posterior en el script, pues al crear la clave primaria con el antiguo nombre, me arrojaba error puesto que el objeto con ese nombre “ya existía”. En efecto… Pues el indice aun estaba ahí.

Porque sucede?
Sucede cuando el indice de una clave primaria no es creado al mismo tiempo que ésta misma. Entonces, cuando se borra la clave primaria oracle asume que el indice no se debe tocar.

Como solucionarlo?
Fácil, solamente verifica después de borrar la clave primaria que el indice ha sido eliminado también. Podrías usar algo como lo siguiente:

begin
select ‘S’
into vExiste
from SYS.dba_objects
where OBJECT_TYPE = ‘INDEX’
and upper(OBJECT_NAME) = ‘NOMBRE_DEL_INDICE’;
exception
when others then
vExiste := ‘N’;
end;

if (vExiste = ‘S’) then
EXECUTE IMMEDIATE ‘DROP INDEX NOMBRE_DEL_INDICE’;
end if;

Fuente:
http://www.vertabelo.com/blog/technical-articles/why-does-oracle-sometimes-not-drop-an-index-associated-with-a-primary-key-or-unique-constraint

Configurar prompt ubuntu

Para cambiar el prompt por defecto en ubuntu debemos utilizar el comando “chsh” lo que nos permitirá cambiar el shell de login. Por defecto ubuntu trae bash por lo que si quisiéramos cambiar a zsh utilizaríamos la ruta: /usr/bin/zsh

Review: Attack On Titan

attackontitan

No me considero una persona aficionada a los animes ni mangas (de echo cuando me mencionan esas palabras siento un cierto tipo de rechazo) pero si me ven escribiendo un review de uno en particular es porque de verdad lo merece.

El ataque de los titanes o “attack on titan” es una serie (anime) que se desenvuelve en la edad media donde la humanidad vive rodeada por muros gigantes ante una situación de apocalipsis por la misteriosa aparición de gigantes humanoides llamados titanes, nadie sabe de donde vienen ni el porque devoran humanos ante lo que solo han podido sobrevivir encerrándose en las murallas.

La revuelto comienza con la aparición de un titan mas grande lo común conocido posteriormente como el titan colosal, quien por su enorme tamaño fue capaz de romper una muralla de una patada. A pesar de que los titanes no poseen inteligencia ni razonamiento el titan colosal al parecer la posee, lo que genera aun mayor desconcierto en los habitantes.

Ante esta situación la humanidad se enfrenta a un exterminio de la misma, una situación extrema de sobre vivencia claro esta en donde todos harán lo imposible por evitar la desaparición de los humanos.
Porque es una serie recomendada:

– Realismo ante la situación
– Calidad de los personajes principales.
– Trama y suspenso.

¿Que es Composer?

Composer es una de las herramientas fundamentales en php a la hora de instalar dependencias de proyectos en Linux para montar un ambiente de desarrollo fácil y de manera correcta, me he tomado la libertad de traducir la introducción oficial a Composer que nos aclarara dudas al respecto y nos demostrara como instalarlo en nuestra maquina.

composer

Introducción
Composer es una herramienta para administración de dependencias en PHP. Te permite declarar las librerías de las cuales tu proyecto depende o necesita y éste las instala en el proyecto por ti.

Composer no es un administrador de paquetes. Si el trata con “paquetes” o librerías, pero las gestiona en función de cada proyecto, instalándolas en un directorio dentro de tu proyecto. Por defecto nunca instalara algo global mente. En consecuencia, es un administrador de dependencias.

La idea no es nueva y Composer esta fuertemente inspirado por el NPM de node and el bundler de Ruby. Pero no ha existido tal herramienta para PHP.

Los problemas que Composer resuelve son estos:

a) Tu tienes un proyecto que depende de un numero de librerías.
b) Algunas de esas librerías de penden de otras librerías.
c) Tu declaras las cosas de las cuales dependes.
d) Composer busca las versiones de estos paquetes necesitas instalar, y las instala (las descarga en tu proyecto).

Declarando dependencias

Digamos que estas creando un proyecto, y necesitas una libreria que haga logging. Decides usar monolog, para agregarlo
a tu proyecto, todo lo que nesesitas hacer es crear un archivo “composer.json” que describa las dependencias del proyecto.

{
“require”: {
“monolog/monolog”: “1.2.*”
}
}

 

Estamos simplemente declarando que nuestro proyecto requiere algún paquete monolog/monolog, cualquier versiones que comience con 1.2

 

Requerimientos del Sistema

Composer requiere PHP 5.3.2+ para correr. Unas cuentas configuraciones php y compilar banderas también es requerido, pero el
instalador te informara de cualquier incompatibilidad.

Para instalar paquetes de fuentes en vez de simples archivos zip, nesesitaras git, svn o hg dependiendo de como el paquete este siendo
controlado por versiones.

Composer es multiplataforma se lucha para hacerlo correr igual de bien en Windows, Linux y OSX

 

Instalación en Linux
Descargando el ejecutable de composer

Localmente:
Para obtener composer, debemos hacer dos cosas. Lo primero es instalar composer (de nuevo, esto significa descargarlo en tu proyecto)

$ curl -sS https://getcomposer.org/installer | php

Puedes instalar composer a un directorio especifico usando la opcion “–install-dir” y proveyendo un directorio objetivo (éste puede ser un path relativo o absoluto)

$ curl -sS https://getcomposer.org/installer | php — –install-dir=bin

Globalmente:
Tu puedes poner este archivo en donde tu desees, si tu lo pones en tu PATH, puedes accederlo globalmente. En sistemas unix incluso tu puedes ejecutarlo e invocarlo sin php.

Puedes correr estos comandos para acceder fácilmente a composer desde cualquier parte de tu sistema

$ curl -sS https://getcomposer.org/installer | php
$ mv composer.phar /usr/local/bin/composer

Nota: Si lo de arriba falla debido a persmisos, corre la linea MV otra vez con sudo.

Después, solo corre “composer” en orden para correr Composer en lugar de “php composer.phar”

 

Fuente: Pagina Oficial

@gnzandrs

Tema WordPress con Skeleton

html5boilerplate

Sin duda alguna el uso de Html5 en la web ya no es una cosa de juegos, ni mucho menos un “lujo”, es algo esencial en una web que esta enfocada al web 2.0 y más aún si esta dirigida a darle al usuario una navegación cómoda.

Seguramente muchos utilizamos para tareas de blogging el CMS WordPress, por su seguridad, comodidad y por esas personas que están dedicadas día a día a hacerlo aun mejor. Claro que surge la necesidad en muchos de adaptarlo a los estándares HTML5 y mejor aun si es posible a una sólida estructura que un FrameWork Frontend nos puede brindar.

En este caso les dejare el código para mezclar la potencialidad de:

WordPress + Html5 + Skeleton
 

wordpresyskeleton

 

Siendo Skeleton el Framework Frontend Html5 que utilizaremos en este código. Antes quisiera dejar en claro que esto no es llegar poner imágenes y subir, sino que por el contrario esta enfocado a ser una herramienta “boilerplate” para el desarrollador. Como es lógico también necesitara de su mano para adaptarlo a las necesidades de cada uno 😉

Partamos explicando lo básico de un skin en wordpress y finalmente podrán ver el código con la implementación de Skeleton.

Estructura de archivos para un tema wordpress

Cuando creamos un tema WordPress debemos tener los siguientes archivos:

style.css : Corresponde a la hoja de estilos que estamos aplicando al tema.

header.php : El encabezado de nuestra plantilla.

index.php : Cuerpo principal de la plantilla.

single.php : Utilizado para leer un articulo en particular.

footer.php : Pie de pagina de la plantilla.

archive.php : Se lanza cuando realizamos una búsqueda por algún criterio de articulo o autor en la web, muestra pre visualizaciones de los post.

page.php : Similar a single.php.

sidebar.php : Barra lateral.

functions.php : Funciones necesarias para el tema y el correcto funcionamiento de éste.

Si deseas profundizar en estos temas, pueden hacerlo en la siguiente dirección que les recomiendo.

Como crear un tema para WordPress

Ahora que conocemos la estructura básica de un tema, solo faltaría integrar ésta arquitectura con la de Skeleton, lo que puedes descargar y observar acá:

Descargar
 

pd: Son bienvenidas las correcciones y/o mejoras que puedan irse agregando en el Repositorio GitHub.

Saludos.

Como Afrontar los Miedos

Seguro que mas de alguna vez te has sentido bloqueado por algún miedo, que con el tiempo se va  haciendo mas grande y termina interfiriendo de manera muy significativa en tu vida…. la verdad es que los miedos son todo un tema, éste video que hace VerFractal me parece muy acertado.