Oct 27 2008

Assembla, la herramienta para el trabajo en equipo

Category: Proyectososcar arzola @ 3:09 pm

¿Estas cansado de comunicarte por telefono, msn, gritos, conferencias cuando desarrollas un trabajo en equipo?

Muchos de nosotros que nos dedicamos al desarrollo de código sabemos lo complicado que es tener sinergía con los diseñadores o bien con todas las personas que utilizan el mismo codigo, llamese Templates, CSS, HTML y demas archivos que nunca tenemos control sobre lo que modifica el otro.

¿No seria ideal que “alguien” llevara el control de cada linea que se modifica en un archivo, para saber que modifico un integrante del equipo?

¿No sera ideal, que ese “alguien” controlara los cambios a tal grado de que si alguien metio la pata, pudieramos restaurar una versión anterior?

Todo eso suena maravilloso y alguien ya lo invento, se llama Sistema de control de versiones A.k.a, (SVN), sin embargo como implementar esto sin depender de la obligada curva de aprendizaje para todo el equipo.

¿No seria ideal, que todo eso estuviera integrado con un tablon de mensajes, chat, perfiles, milestones (Lista de tareas), tickets de consulta y soporte?

¿No seria ideal que no tuvieramos que instalar nada, de servidores, ni scripts para hacer funcionar un lugar donde trabajar así?

Pues, les tengo una noticia, Existe y se llama Assembla, un servicio en linea que nos permite trabajar en proyectos colaborativos en grupo . En su versión gratuita nos dan 200 MB para alojar hasta 10 proyectos, sin embargo vale la pena echarle un ojo a la versión de pago, que seguramente nos hara el camino hacia la felicidad laboral mas rapido.

Tags: , , ,


Oct 21 2008

Integración por el método de Simpson con Java

Category: Vidaoscar arzola @ 5:03 pm

Hace unos meses, ayudaba a mi primo Armando a resolver un problema del curso de CMMI para su certificación, lo comparto para que si alguien tiene idea de un método mas eficiente para lograr esto.

import java.math.*;
 
public class IntegracionSimpson {
	private double num_seg = 10;
	private double W = 0;
	private double E = 0.00001;
	private double dof = 9;
	private double x = 0;
	private double[] valores;
	private double[] valoresFin;
	private final double RAIZ_PI = Math.sqrt(Math.PI);
	private double suma = 0;
	private double d=0.000054321;
	public IntegracionSimpson(){
		valores = new double[(int)num_seg+1];
		valoresFin = new double[(int)num_seg+1];
	}
	public IntegracionSimpson(double x){
		W = x/num_seg;
		valores = new double[(int)num_seg+1];
		valoresFin = new double[(int)num_seg+1];
	}
	public IntegracionSimpson(double x,double dof){
		this.dof = dof;
		W = x/num_seg;
		valores = new double[(int)num_seg+1];
		valoresFin = new double[(int)num_seg+1];
	}
	public IntegracionSimpson(double x,double dof,double n){
		num_seg = n;
		this.dof = dof;
		W = x/num_seg;
		valores = new double[(int)num_seg+1];
		valoresFin = new double[(int)num_seg+1];
	}
	private double round(double _input,int n)
    {
        BigDecimal bd = new BigDecimal(_input);
        BigDecimal bd_round = bd.setScale( n, BigDecimal.ROUND_HALF_UP );
        return bd_round.doubleValue();
    }
	private double exp(){
		return ((dof+1)/2);
	}
	private double var(double xi){
		return 1+((Math.pow(xi, 2))/dof);
	}
	private double t(){
		double numerador = gammaNum(dof);
		double denominador = (Math.sqrt(dof*Math.PI))*(gammaDen(dof));
		return numerador/denominador;
	}
	private double gammaNum(double d){
		double val = (d+1)/2;
		if((d+1)%2==0.0){
			return factorial(val-1);
		}else{
			return factorialFraccionario(d+1);
		}
	}
	private double gammaDen(double d){
		double val = d/2;
		if(d%2==0.0){
			return factorial(val-1);
		}else{
			return factorialFraccionario(d);
		}
	}
 
	public double factorial(double n){
		if(n==0){
			return 1;
		}else{
			return factorial(n-1)*n;
		}
	}
	private double factorialFraccionario(double n){
		double limite = n-2;
		double vueltas = n/2;
		double m=1;
		int vueltasEntero = (int) vueltas;
		for(int i=0; i<vueltasEntero; i++,limite-=2)
		{
			m*= limite/2;
			if(limite==1){
				m*= RAIZ_PI;	
			}
		}
	return m;
	}
	private void setFx(){
		double suma = 0;;
		int limite = (int)num_seg;
		int i;
		double j;
		for(i=0, j=0; i<=limite; i++, j+=W)
		{
			if(i==0){
			valores[i] = 1 * t();
			}else{
			valores[i] = (Math.pow(var(j),-exp()))*t();
			}
		//System.out.println(i+" "+j+ " "+ var(j)+" "+Math.pow(var(j),-exp())+ " "+t()+" "+valores[i]);
		}			
	}
	private void setIntegration(){
		double suma = 0;;
		int limite = (int)num_seg;
		int i;
		double j;
		for(i=0, j=W; i<=limite; i++, j+=W)
		{
			if(i==0 || i==limite){
			valoresFin[i] = W/3 * 1 * valores[i];
			}else if(i%2==0){
			valoresFin[i] = W/3 * 2 * valores[i];	
			}else{
			valoresFin[i] = W/3 * 4 * valores[i];	
			}
		}			
	}
	public void getIntegracion(){
		setFx();
		setIntegration();
		for(int i=0; i<valores.length; i++){
			suma+=valoresFin[i];
		}
		System.out.println(round(suma,8));
	}
	public double get(){
		setFx();
		setIntegration();
		for(int i=0; i<valores.length; i++){
			suma+=valoresFin[i];
		}
		return round(suma,8);
	}
	public void getX(double p, double dof){
		double Error = 0;
		double xtest=1.0;
		double ValorError= 0;
		x = xtest;
		this.dof = dof;
		while(true){
			//Probamos con 1.0
			x+= Error;
			W = x/num_seg;
			if(get()<p){
				Error+=d;
			suma=0;
			}else if(get()>p){
				Error-=d;
			suma=0;
			}
			ValorError = Math.abs(p-get());
			suma=0;
			if(ValorError<E){
				System.out.println(round(x,7));
				break;
			}
		if((p-get())<0){
			d/=2;
		}
//		System.out.println("-----------------------------------------");
//		System.out.println("El Probable de X es de :  "+x);
//		System.out.println("POriginal = :  "+p);
//		System.out.println("PCopia = :  "+get());
//		System.out.println("El error es de :  "+ValorError);
//		System.out.println("-----------------------------------------");
		suma=0;
		}
	}
	public void getX(double p, double dof,double t){
		double Error = 0;
		double xtest=0;
		xtest = (t==0.0)? 1.0: t;
		double ValorError= 0;
		x = xtest;
		this.dof = dof;
		while(true){
			//Probamos con 1.0
			x+= Error;
			W = x/num_seg;
			if(get()<p){
				Error+=d;
			suma=0;
			}else if(get()>p){
				Error-=d;
			suma=0;
			}
			ValorError = Math.abs(p-get());
			suma=0;
			if(ValorError<E){
				System.out.println(round(x,7));
				break;
			}
		if((p-get())<0){
			d/=2;
		}
//		System.out.println("-----------------------------------------");
//		System.out.println("El Probable de X es de :  "+x);
//		System.out.println("POriginal = :  "+p);
//		System.out.println("PCopia = :  "+get());
//		System.out.println("El error es de :  "+ValorError);
//		System.out.println("-----------------------------------------");
		suma=0;
		}
	}
public static void main(String[] args){
	IntegracionSimpson test1 = new IntegracionSimpson(1.1,9);
	test1.getIntegracion();
	IntegracionSimpson test2 = new IntegracionSimpson(1.1812,10);
	test2.getIntegracion();
	IntegracionSimpson test3 = new IntegracionSimpson(2.750,30);
	test3.getIntegracion();
	//Cambiando el valor de num_segs = 20 en el ejemplo 1
	IntegracionSimpson test4 = new IntegracionSimpson(1.1,9,20);
	test4.getIntegracion();
	//Las del ejercicio 2
	System.out.println("Resultados Del ejercicio 2");
	IntegracionSimpson test5 = new IntegracionSimpson();
	test5.getX(0.20, 6,1.0);
	IntegracionSimpson test7 = new IntegracionSimpson();
	test7.getX(0.45, 15,1.0);
	IntegracionSimpson test8 = new IntegracionSimpson();
	test8.getX(0.495, 4,1.0);
	//Prueba Reversiva en base a uno de arriba Agregando un Limite de inicio
	IntegracionSimpson rev = new IntegracionSimpson();
	rev.getX(0.35006, 9,2);
}
}


Oct 15 2008

Amar es tener una conciencia superior de nuestra individualidad

Category: Amor, Vida, Zaratustra, relacionoscar arzola @ 3:39 am

Eran las 8:02 pm, vengo aun agitado por salir corriendo de Ingenia, el día fue tranquilo algo lento, tal vez por que me sentía un poco debil, hoy me lloraba el ojo izquierdo como algunas veces en los días fríos, no se por que pero seguramente no es una cualidad de mi cuerpo, posiblemente sea el acumular cansancio a lo largo de los días.

Hoy el metro en Tacubaya esta un poco violento, mas que de costumbre a pesar de que ya me adapte a la naturaleza agresiva de quien busca saciar su boleto de 2 pesos por un viaje VIP, la verdad tengo aversión este día para jugar  al “aventon y repegon de metro”, hoy solo deseo un descanso, mi cuerpo aun rebosa de energía pero mi mente y mi corazón se tornan muy agitados, el alma pide un descanso, ya han sido muchas cosas que sentir y pensar en estos últimos meses.

Llevo ya muchos días analizando las respuestas que  exhalan mi mente y mis emociones, hoy seguramente aun me perturba una canción, otros días tal vez me deje llevar por los incontables momentos de ansiedad por tal solo sentirme querido una vez.

Hay días en que podemos decir que queremos a alguien pero justamente no somos totalmente conscientes de la reciprocidad afectiva en los sentimientos de quien amamos. No podemos comprender su forma de querer. “Lo que no comprendemos no lo poseemos”.

Amar no es dejar a un lado el YO para dar a alguien muestras de nuestro vacío y nuestra necesidad de afecto. Amar es tener siempre conciencia de nuestra totalidad y nuestros mas profundos anhelos , Amar es tener una conciencia superior de nuestra individualidad y saber compartirla con alguien que a su vez ama su vida y su universo.

Tags: ,


Sep 17 2008

ActionOsForm, una forma fácil de actualizar una Base de datos con PHP

Category: Frameworks, OOP, Php, Proyectososcar arzola @ 12:52 am

Hace tiempo, cuando iniciaban los Frameworks para el desarrollo rapido de aplicaciones, en los tiempos de luz de Struts, Ruby on Rails, CakePHP, etc etc, uno no podía concebir para desarrollos rápidos o no orientados a objetos, existiera una manera facil rapida y escalable de hacer CRUD en una base de datos con validación de los datos “on the fly“, la pregunta obligada era ¿como puedo acoplar toda mi lógica de negocio?, a un sistema MVC como lo es un framework, sin mover todo mi código y bien solo tocar las partes que pueden crecer, como son los datos pedidos por una aplicación, hay muchos sistemas pequeños que no usan la lógica de negocio separada en capas y estan acostumbrados a usar una sola capa, ya que esto fue la punta de lanza del por que PHP triunfo en internet, era accesible hacer un “hello world” en 3 segundos, no obstante esto desemboco en sistemas poco escalables y dificil de mantener, por esto decidi hacer esta clase que funciona en el modelo a una capa, pero que permite, validar datos con reglas REGEX, ActionOSForm, es una clase pensada en mejorar esto, ya es código viejo, pero puede servir para mostrar alguna técnica, de optimización y reducción del código que se escribe dia con dia.

Vamos a hacer un ejemplo practico del cambio de paradigma y como nos ayuda ActionOsForm.

Tenemos una Base de datos con esta estructura.

Nombre de Tabla: Maestros

Campos: id_maestro,nombre, apellidos, RFC, claveAccesso,nivelAcceso

Necesitamos un sistema de altas, bajas y modificaciones, para esta tabla, en una aplicación tradicional en PHP, crearíamos un formulario y mandariamos los datos por POST hacia una pagina que procesaria los datos de nuestro formulario. En una aplicación tradicional hariamos esto.

Formulario HTML

<form id="form1" action="procesar.php" method="post">
<fieldset><legend>Registro Maestro</legend>
  <label for="nombre">Nombre</label>
<input id="nombre" name="nombre" type="text" />
  <label for="apellidos"></label>
  <label for="Apellidos">Apellidos</label>
<input id="Apellidos" name="Apellidos" type="text" />
    <label for="rfc">RFC</label>
<input id="rfc" name="rfc" type="text" />
    <label for="enviar"></label>
<input id="enviar" name="enviar" type="submit" value="Registrar" />
</fieldset>
</form>

Este formulario con los nombres de campos llamados, nombre, apellidos, y RFC respectivamente, van a ser enviados a una pagina llamada procesar.php, nuestro archivo procesar, se va a encargar de recibir estos datos, y registrarlos en una base de datos, en este caso mySQL.

En nuestra aplicación tradicional usando las funciones habituales de insersión de datos con mysql, procederiamos de la siguiente manera, en nuestro archivo procesar, vamos por pasos.

1.- Recibir los datos del formulario.

//Recibiriamos los datos por medio de POST
$nombre = $_POST['nombre'];
$apellidos = $_POST['apellidos'];
$rfc = $_POST['rfc'];

2.- Validar el formulario:

Aquí viene una de las grandes ventajas de ActionOsForm, en este momento nuestro formulario se ve muy sencillo de validar, ya que solo son pocos datos, ¿pero que sucede si un dia de estos nos dicen que agreguemos 15 campos mas para los datos del Maestro, seria tedioso crear una comprobación por cada campo suponiendo, que una validación simple podria ser de esta manera.

if(trim($nombre)!="" && trim($apellidos)!="" && trim($rfc)!=""){
	//Proceder a insertar los datos
}

Sorprendente el tamaño del IF o la condición que se tendría que crear para actualizar los demas, campos, Pero ¿Que tal si cada campo necesita un tratamiento de validación especial? como el RFC, que como ustedes saben o algunos tal vez no, es una clave que nos identifica a los Mexicanos, imaginemos que dentro de estos campos viene, también una fecha, una CURP, o tal vez un numero de identificación que cumple con algún patrón especifico. Tal vez podríamos hacer algo como esto…

2.1: Validación mas especifica

function isRFC($cadena)
{
$cadena = trim($cadena);
if(ereg("[a-zA-Z]{4}([0-9]{6})([A-Z0-9]{3})?$",$cadena))
	{
	return true;
	}else
		{
		return false;
		}
}
function isCURP($cadena)
{
$cadena = trim(strtoupper($cadena));
if(ereg("[a-zA-Z]{4}([0-9]{6})([A-Z]{6})([0-9]{2})$",$cadena))
	{
	return true;
	}else
		{
		return false;
		}
}
if(trim($nombre)!="" && trim($apellidos)!="" && isRFC($rfc) && isCURP($rfc) && N....){
	//Proceder a insertar los datos
}

No obstante, imaginemos el escenario, para actualizar un sistema de este tipo, tendriamos que aumentar el if, o bien hacer un if else if, sin embargo esto se vuelve tedioso con el tiempo, cuando se necesitan agregar nuevos tipos de datos al sistema o mas campos por validar, esto es lo que nos viene a resolver y ayudar ActionOsForm, como lo veremos mas adelante esto nos da un mayor control, de los mensajes de error y la encapsulación del proceso.

3.- Inserción de en la DB

$con = mysql_connect("localhost","usuario","password");
$sqlStr = "INSERT INTO Maestros (nombre,apellidos,RFC) VALUES ('".$nombre."','".$apellidos."','".$RFC."')";
$consulta = mysql_query($sqlStr,$con);

Volvemos a la misma tarea tediosa a la hora de actualización, si nos pidieran agregar 15 campos a la inserción, tendriamos que modificar esta consulta y concatenar, realmente no tenemos tiempo para tareas tediosas, imaginemos, al momento de la actualización y el borrado, es hora de conocer ActionOsForm.

Archivo procesar.php Completo

//Recibiriamos los datos por medio de POST
$nombre = $_POST['nombre'];
$apellidos = $_POST['apellidos'];
$rfc = $_POST['rfc'];
 
function isRFC($cadena)
{
$cadena = trim($cadena);
if(ereg("[a-zA-Z]{4}([0-9]{6})([A-Z0-9]{3})?$",$cadena))
	{
	return true;
	}else
		{
		return false;
		}
}
function isCURP($cadena)
{
$cadena = trim(strtoupper($cadena));
if(ereg("[a-zA-Z]{4}([0-9]{6})([A-Z]{6})([0-9]{2})$",$cadena))
	{
	return true;
	}else
		{
		return false;
		}
}
if(trim($nombre)!="" && trim($apellidos)!="" && isRFC($rfc) && isCURP($rfc) && N....){
	//Proceder a insertar los datos
}
 
//validamos los datos
if(trim($nombre)!="" && trim($apellidos)!="" && trim($rfc)!=""){
	//Proceder a insertar los datos
    $con = mysql_connect("localhost","usuario","password");
	$sqlStr = "INSERT INTO Maestros (nombre,apellidos,RFC) VALUES ('".$nombre."','".$apellidos."','".$RFC."')";
	$consulta = mysql_query($sqlStr,$con);
}else{
	echo "Datos incorrectos";
}

5.- Hagamos lo mismo con ActionOsForm, Para usar esta clase solo hace falta incluirla y utilizar los metodos para validar e insertar los datos, y sin escribir ninguna consulta SQL, ni tampoco una expresión regular para validar los datos. Todo lo anterior se puede resumir con ActionOsForm, a este codigo.

include("WEB-INF/class/actionOsForm.php");
	$registro = new actionOsForm('Maestros');
		$registro->activeData($_POST);
		if($registro->validateForm())
			{
			$registro->doInsert();
				if($registro->getNumErrors()==0)
					{
					echo "Registro insertado y validado";
					}else{
					$registro->getErrors();
					}
			}else{
			$registro->getErrors();
			}

Ahora, ¿como funciona?, este pedazo de codigo, ya válido los datos, por su tipo de datos, y encapsulo el posible error para que si no pasa la validación todo el formulario, regresar un arreglo con los errores generados en la validación..

Explicación linea a linea:

En esta linea incluimos la clase que se hara todo el trabajo pesado

include("WEB-INF/class/actionOsForm.php");

Creamos un nuevo objeto ActionOsForm Pasándole como argumento al constructor, la tabla en la que insertara los datos.

$registro = new actionOsForm('Maestros');

Pasamos los datos enviados por el formulario al método que contendría todos nuestros datos, con su respectivo tipo de datos.

$registro->activeData($_POST);

Esta sentencia condicional se encarga de validar todo el formulario entero, ya sean, nombres, apellidos, fechas, RFC, CURP, telefono, codigo postal, numeros, y regresa TRUE, en caso de que todos los datos sean validos y esten listos para sen insertados en la base de datos, en caso contrario, regresa FALSE y guarda en un Array Todos los errores de validación que pudieran surgir durante el proceso.

if($registro->validateForm())

Si los datos son validos, llamamos al método doInsert, encargado de crear una consulta SQL adecuada para ingresar los datos en la DB

$registro->doInsert();

Si cualquiera de los dos métodos, regresa FALSE podemos obtener los errores de inserción con el método..

$registro->getErrors();

Hasta la próxima :D, ¿parece útil no?, ¿Por que escribir tediosas consultas SQL, o validar datos, con expresiones regulares, si ActionOsForm lo puede hacer por ti, el codigo mencionado arriba, puede servir para 1 o para 100 campos sin aumentar ni una linea de código.

Tags: , , , ,


Sep 16 2008

En busca de la mejor torta ahogada

Category: Comida, GAP, Grupo Aeroportuario del Pacífico, Guadalajaraoscar arzola @ 6:55 pm

Eran las 4 am cuando Aldo, Ehe y yo seguiamos en vivo trabajando para sacar la intranet de Union Fenosa y yo también creando un pequeño mapa mental para la presentación que daria al Grupo Aeroportuario del Pacífico , después de una larga charla por iChat mientras trabajábamos yo sabía que tenia que irme a las 5 am directo al aeropuerto de la Ciudad de México por suerte InterJet ya inicio operaciones en este aeropuerto y ya no tengo que hacer un super drama para llegar al aeropuerto de Toluca.

Dicho me meti a bañar y corriendo me vesti, dieron las 5 en punto y ya estaba mi primo Ulises quien fue el elegido para llevarme, ya que tiene un taxi y asi no sufriría en encontrar uno que no me cobre un ojo de la cara ya que no falta eso aqui en Neza donde si progresas.

Platicamos en el camino acerca de este viaje y de mi idea Loca de comprar un auto, el camino fue muy rapido llegamos en 25 minutos al aeropuerto lo suficiente para estar a tiempo de que pasen toda la revisión donde te hacen que te quites el cinturón y se caigan los pantalones, asi mismo que segun no lleves cosas peligrosas y no se que patrañas, en fin lo bueno que no me detuvieron por llevar mi toronja para comer cuando me diera hambre, el vuelo salio tarde no se por que, pero no podia dormir, no sabria con que me enfrentaria llegando a Guadalajara, y que pasaría con la presentación y capacitación que daria a los usuarios del CMS de GAP, (Grupo Aeroportuario del Pacífico).

Despues de un largo viaje pude ver las nubes grises que azotan la ciudad, sin embargo el cielo se veia tan radiante y vivo como nunca lo había visto, tal vez era que deliraba un poco de no haber dormido nada casi durante toda la semana que habìa pasado trabajando para sacar los pendientes.

Llegando al aeropuerto me encontré con un clima calido-templado, el clima era perfecto, muy rico y agradable a pesar de que estaba chispeando el clima era un paraiso andante.

Eran las 8:10 llegamos tarde al destino prometido por que el avion se retraso mucho. Pero eso no importaba lo verdaderamente relevante era, ¿que voy a decir en GAP?, ¿que es lo que desean entender con mas claridad?, ¿con que tipo de usuarios me ire a topar?, ¿sera suficiente el manual que hice la semana pasada?, me conteste, NO LO SE, deje que las cosas tomaran su rumbo y tome el Taxi que me llevaria al WTC, ya lo tome e iba en camino cuando llamo Aldo diciendo que a que hora lo ayudaria a terminar el Index y unas locuras de la Intranet de FENOSA, le dije “Deja que llegue al starbucks y ahi me conecto, trabajamos y sacamos esto adelante” y me dijo “va que va”, despues me di cuenta que se gasto mi crédito por el Roaming.. “maldito telcel”, y me quede sin comunicación.

Eran las 10:00 am, y era la hora prometida para la capacitación en GAP, segui caminando por la Av. Mariano Otero, directo al destino.

Ya despues de un par de horas decidi emprender el camino directo hacia el centro de Guadalajara, tome un Taxi de esos amarillos y le pregunte al señor, ¿me podria llevar al centro? y me dice, ok vato vamonos para allá empezo la platica clasicá de un taxi y llegamos al centro, pero antes de eso el Taxista se ofrecio a llevarme a algunas opciones de Hotel, y me decia que si entre mis posibilidades estaba pagar alrededor de 600 Pesos, que por que como el me veia, no se le hacia como para que me quedara en un hotel lleno de piojos y demás, je.

Llegamos a un hotel que la fachada no se me hacia nada lujoso, pero pues estaba pasable,  y dije, pues no se ve tan mal, decidi entrar para ver si me convencía y si si me convecio, total decidi quedarme y me despedi del taxista que antes de eso habriamos acordado que mañana me recogeria en el mismo lugar, para llevarme de regreso al aeropuerto. Entre a la habitación, deje mis cosas y decidi emprender la busqueda por la mejor torta ahogada de Guadalajara.

Después de caminar un rato por el centro de Guadalajara, al rededor de 5 horas llegue al destino prometido, las al Sears del centro, sin embargo al llegar a la parte de atras de la tienda no encontre ningun puesto de Tortas ahoagadas, ni si quiera un local, regrese triste y frustrado y decidi dormir, ya que al siguiente día emprendería un nuevo viaje en la busqueda de la Torta ahogada, despues de recorrer nuevamente el centro decidi acercarme a un modulo de información a turistas y preguntar por las dichosas tortas, a lo que la Persona encargada del kiosco me dijo. “Claro vato las Tortas de atras del sears” y yo dije - Pero si ya estuve ayer ahí y no hay nada, y me comento es que acaban muy temprano al rededor de las 2 PM. Entonces decidi ir para allá nuevamente y listo, e aquí el lugar.


Aug 29 2008

Mexico Unido Contra la Delincuencia

Category: Amor, Mexico Unido, México, Proyectos, Vidaoscar arzola @ 5:27 am

Mexico Unido

Hace unos dias, me integre con el equipo de Ingenia Group para el desarrollo del nuevo portal de Mexico Unido Contra la Delincuencia este proyecto me emociona mucho ya que siempre he querido aportar algo y dejarme de quejar por la situación que vivimos dia a dia en este pais, cabe mencionar que hay grandes personajes involucrados en el proyecto, tales como.. El encargado de ubuntu latino (Alfonso Bribiesca) programador Mexicano con grandes ideas, asi mismo se encuentran en la lista Aldo Cárdenas diseñador lider de varios proyectos como Wings, Cmr, Union Fenosa, etc, y no podria faltar el buen y admirado Ehecatl Mendoza liderando esta iniciativa sin animos de lucro, con las ganas de crear un sitio accesible, facil y directo para el usuario, ya que la mayoria de portales en internet carecen de “Su objetivo principal” Comunicar e invitar a participar, el movimiento por un Mexico sin Delincuencia lo hacemos todos.


Aug 05 2008

El amor es la mitad de nuestra existencia

Category: Vidaoscar arzola @ 3:00 am

Hay personas que dedican su vida a aprender, aplicar, crear, hacer, hay otras que usan el mundo para hacer su existencia mas llevadera, hay en este mundo personas tan lejos de su “yo superior”, que viven estancadas en el mar de la incertidumbre o del vacio existencial, Antes Dios resolvia todos esos paradigmas sin embargo desde que el hombre abandono la utopía de la idealización se ha creado un abismo dificil de salvar.

No podemos saber que falta, ya que  como cita Goethe - “Lo que no comprendemos, no lo poseemos”. La vida esta tan distante de ser entendida, por lo tanto, ¿ estamos condenados a no poseer tan si quiera un trozo de nuestra existencia?, creo que es cuando entra el poder de lo oculto que nos hace humanos, la capacidad de creer y dar fe en algo tangible, y esa otra mitad que es el amor.


Jun 13 2008

Amor, es amarnos en el cuerpo de otra persona

Category: Amor, Filosofía, Vida, relacionoscar arzola @ 1:33 pm

Creo que a parte las relaciones siempre son un constante “trabajo” y una flor que debemos de regar con pasion y fervor, si no hacemos eso, cualquier persona suele llevarse tu atención hacia otro lado o bien que tu pareja mire hacia otro lado, uno debe de luchar si vale la pena, y debe de esforzarse.

A veces es la vida medio cruenta pero cierta cuando demuestra cuan lejos de uno mismo estamos y por lo tanto buscamos fuera lo que no tenemos dentro, “buscamos quien nos ame o quien nos valore” por que para nosotros mismos es complicado, lo que yo no quiero hacer es una distincion del “Bien y del mal” por que eso lacera la humanidad.

Creo que todo son circunstancias necesarias para que la vida tenga sabor, sin embargo creo que el amor , el verdadero amor, acaricia en la mente al ser amado y no se da tiempo de mirar hacia otro lado.. y no por simple y llana obligación sentimental, si no por pasion y verdadera entrega.


May 22 2008

Nuevo trabajo [Ingenia Group]

Category: Vidaoscar arzola @ 8:37 pm

Hace varios dias buscando crecimiento emprendí una busqueda de empleo, buscando en OCC y computrabajo encontre la oferta de Ingenia, cabe destacar que lo que más me llamo la atención fue la forma “joven” en la que la vacante estaba propuesta. l

Llegando aquí tuve un buen presentimiento, la gente que trabaja aquí se nota que estan Armados hasta los dientes de Talento, en especial estoy sorprendido de un gran Diseñador Mexicano Llamado EHECATL MENDOZA, he visto mucho talento en la red, conozco grandes desarrolladores Mexicanos, no obstante en ilustración y talento artistico, Ehecatl Mendoza (a.k.a EHE), se lleva las palmas y la nominación para ser reconocido por su gran sensibilidad artistica.

Me fascina estar rodeado de mujeres llenas de ganas de ser más de ser reconocidas por su talento y su dedicación lo que me sorprende es que son mujeres dignas de admirar, Cynthia, Carolina, Jessica, Clarissa, Tatiana, que rompen con el esquema y demuestran que la inteligencia y la belleza si combinan.


May 08 2008

La adicción representa nuestro vacio existencial

Category: Vidaoscar arzola @ 3:27 am

Ultimamente he visto una serie de adicciones enfocadas totalmente a la distracción a lo que muchos solemos decir, - Bien una forma de “pasar el tiempo”, como tratar de escapar del hostil aburrimiento, no obstante demuestra el gran abismo que atraviesa nuestro ser, he llegado a la conclusión de que las adicciones son resultado de un intento precipitado por escapar de la soledad con nosotros mismos, “no deseamos estar con nosotros”, Bien decia Herman Hesse “Ningun camino es mas desagradable para el ser humano, que aquel que lo conduce hacia si mismo”.

Estoy preocupado por la sociedad actual de jovenes, pendientes por estar a la moda, por fumar, por tomar, por ser emo, por ser reconocido en el myspace, en el hi5, en facebook, en metroflog, por ser algo que no los deje pensar en si mismos, como si se tratara de una forma de huir de la introspección.

Creo firmemente que el mundo seria mas tranquilo y completo si en lugar de buscar una salida falsa, buscaramos el consuelo de nuestro ser, de nuestra propia sabiduría interna y dejar de buscar fuera lo que tenemos dentro.

Es natural, que el ser humano busque el reconocimiento sin embargo se busca incorrectamente en una dirección tergiversada por la sociedad corrompida por el consumismo de modas y productos, todos los adolecentes estan mas preocupados por ser parte de la moda y “sobre salir” y ser reconocido por “ser igual que los demas”, si el ser humano dedicara más tiempo a si mismo, al perfeccionamiento y busqueda de sus cualidades, tendriamos un mundo menos recurrente y decandente, podriamos vivir un mundo de competencia y logros.


Next Page »