Follow By Email

jueves, 29 de noviembre de 2012

Cylon Linux un sistema operativo para todos !

   Hace muy poco se está distribuyendo una distribución de pre-configuarada GNU/Linux Ubuntu  que me ha dejado muy conforme ya que se adapta a todas mis necesidades, por ser intuitivo y traer una gamma de programas bastante útiles.

   Si bien es una distro basada en Ubuntu 12.04 esta trae integrado gnome 3 y además Unity. Su interfaz gráfica es muy atrayente y es tan fácil que hasta mi madre lo ha comenzado a usar en reemplazo de windows 7. Sus integrantes son jovenes y novedosos por lo que me quedo con este gran sistema operativo para todos  !.



Descarga y Fuente: http://cylonlinux.weebly.com

miércoles, 28 de noviembre de 2012

Insertar indices económicos con PHP y Ajax (tipo webservice)

   Estoy desarrollando un sistema de gestión empresarial, el cuál necesitaba integrar índices económicos dentro de la aplicación en PHP. Busqué distintos webservices que entregarán dicha información pero en Chile escasean. Entonces encontre un tutorial de como tomar las tag de una página web que contiene los índices y poder tomarlos y trabajarlos en mi web.
   El link es este:

http://www.maskin.cl/programacion/insertar-indices-economicos-en-tu-sitio


<?php //Dolar Observado!
$url = "http://www.terra.cl/valores/";
$palabra = "DOLAR OBSERVADO";
$x = 1; //evita tags <! (invisibles)

$fd = @fopen($url, "r"); //abre la url y comienza desde el principio para solo lectura. Apertura para solo lectura; ubica el apuntador de archivo al comienzo del mismo.
while ($line=@fgets($fd,1000)){
$pos = strpos ($line, $palabra);
if ($pos){
$glosa = " ";
$line2=fgets($fd,1000);
echo strip_tags($glosa.trim($line2));
}
}
@fclose ($fd);
?>


<?php //UF
$url = "http://www.terra.cl/valores/";
$palabra = "UF :";
$x = 1; //evita tags <! (invisibles)

$fd = @fopen($url, "r"); //abre la url y comienza desde el principio para solo lectura. Apertura para s�lo lectura; ubica el apuntador de archivo al comienzo del mismo.
while ($line=@fgets($fd,1000)){
$pos = strpos ($line, $palabra);
if ($pos){
$glosa = " ";
$line2=fgets($fd,1000);
echo strip_tags($glosa.trim($line2));
}
}
@fclose ($fd);
?>


<?php //UTM
$url = "http://www.terra.cl/valores/";
$palabra = "UTM :";
$x = 1; //evita tags <! (invisibles)

$fd = @fopen($url, "r"); //abre la url y comienza desde el principio para solo lectura. Apertura para s�lo lectura; ubica el apuntador de archivo al comienzo del mismo.
while ($line=@fgets($fd,1000)){
$pos = strpos ($line, $palabra);
if ($pos){
$glosa = " ";
$line2=fgets($fd,1000);
echo strip_tags($glosa.trim($line2));
}
}
@fclose ($fd);
?>

lunes, 19 de noviembre de 2012

Ser freelancer, la opción más económica

   Llevo ya tiempo en el tema de desarrollo y análisis de aplicaciones como persona independiente, partí desarrollando pequeñas webs que a lo largo me hizo obtener contacto necesario para poder dedicarme a ello. Sin embargo el ser independiente no quiere decir que sea más cómodo y relajante el trabajo. De hecho muchas veces es estresante la cantidad de código que hay que escribir en una semana. 

   Pues llego un momento del cuál ser el ser freenlace me transformó en la opción más barata de los clientes. Claro en vez de gastar la inversión en una consulta, realizan postulaciones de proyectos y ven cuál pide menos y en menor tiempo posible. Pues esa situación me ha cansado, ademas desgasta tiempo desarrollar un proyecto "solo"   y me doy cuenta que mucho futuro no podré obtener si sigo con ese ritmo y con aquellos negocios. 



 

  Decidí emprender y formar un empresa consultora la cuál me haga sacar el estigma de freelance y ser la opción que ofrezca calidad. Aunque no ha sido fácil, los gastos en oficina aún me revienta el estomago. Pues ya estoy en pensamientos de crear un software estándar para empresas con flexibilidad y adaptabilidad de el negocio, pues esto conlleva menos horas de desarrollo y más flujo de dinero.     

martes, 30 de octubre de 2012

"Nuevos" conceptos de la web que yo no sabía ...

     El desarrollo, la web y la ciencia de la informática avanza de manera extraordinaria. Como el título de este artículo lo dice "Nuevos" está en comillas ya que ni siquiera es tan nuevo, solo que recién he comenzado a asimilar , todos estos conceptos novedosos. Soy desarrollador y cada día encuentro con nuevas ideas que han facilitado gran parte de mi tiempo de producción. Primero CSS bootstrap, luego Jquery, depues Jquery con ajax y un sin fin de nuevas tecnologías aportadas por comunidades queriendo compartir cada conocimiento, concepto e idea.
  Os publicaré una lista de estas grandes ideas !

1.- Concepto responsive : Los móviles se han tomado gran parte de la web. Android, IOS etc... celulares tan avanzados que ya tienen navegadores incorporados totalmente compatible con la web. Pero el tamaño ha sido lo complicado... es realmente incómodo tener que estar moviendo la pantalla para leer un artículo en un celular. Es por eso el concepto de responsive una web que se adapta al tamaño de cualquier dispositivo posicionando las estructuras con novedosas librerías CSS !!. Pero cuidado hay que saber bien como diseñar usando grids (bloques(matriz de la pantalla)) ya que muchas veces puede ser un dolor de cabeza.

2.- Librerías o Frameworks CSS : esto si que me ha quitado un gran paso de encima. Como desarrollador de aplicaciones, el diseño nunca ha sido lo mío y bueno siempre estan las interfaces de escritorio que suplían el software. Pero cuando la web 2.0 pasó a ser fundamental en este ámbito, había que hacer un doble trabajo para mostrar un diseño presentable. Ahora con estas librerías CSS se suple este conflicto ya que nos permite ahorrar ese diseño que tan importante es para el cliente. El ejemplo más claro y el más usado es Bootstrap la gran libreía que liberó twitter. los botones, las tablas, la responsividad, las interfaces todo el diseño con solo una palabra mágica <link href='bootstrap.css'>



jueves, 25 de octubre de 2012

Futuro humano automatizado = ?

  Leyendo un libro muy interesante de robótica (Caliban -  Roger MacBride Allen - Asimov)  me hecho reflexionar un poco del que será de nosotros en unos años más.

  Este libro habla sobre dos comunidades rivales las cuales, una produce robots y han llegado a tal nivel de comodidad que ya ni siquiera los humanos saben manejar ya que es tarea de robot. Han sido tan dependientes de estos, que se volvieron dependientes totalmente de un sistema robótico de cuál aun no tiene la capacidad de pensar. La otra civilización trata de evitar estas máquinas, ya que ven el potencial peligro de automatizar todo... un futuro de humanos ineptos.

  Quizás es un poco drástico el pensamiento de que las máquinas harán todo, pero vamos por ese camino. Desde que la ciencia de la informática fue creada su fundamental objetivo ha sido  tratar de automatizar y producir de forma expedita ciertos cálculos que el humano podría demorar miles de horas.
 Y bueno mi propia experiencia ha sido un poco ver este proceso. Por ejemplo los IDE de programación. Cada vez se programa menos líneas de código dejando al IDE hacer su trabajo. Visual estudio ya no requiere de profesionales. Mi propia madre podría realizar una base de datos y luego hacer una aplicación en visual basic para listar sus recetas de cocina.  Todo ha sido tan automatizado que ya los programadores dejarán de existir.

  Creo que podríamos ir a un buen camino pero nunca debemos olvidar que nosotros como humanos debemos encontrar un sentido a la vida. Ser eficiente y no depender de nadie ni de nada es fundamental para el desarrollo humano propio y evolución en masas.




jueves, 23 de agosto de 2012

Un Informático en tercer año de Carrera

   Ser informático ha sido mi sueño de pequeño, tuve mi primer computador a los 7 años, un windows 92. Desde ese momento no pude estar sin uno en mi hogar. Ya teniendo claro lo que quería ser, no sabía que iba a realizar... ¿Qué hace un informático?. Pues existen variadas especialidades para ello, sin embargo siempre esta el estigma de "Es el que arregla computadores" algo totalmente erróneo.
  Yo aun no defino que especialidad seguir, me llama mucho la atención el análisis y desarrollo de aplicaciones  pero también la seguridad Informática me atrae. El hecho de combatir con Hackers malos me da cierto placer. 

  Como Informático de tercer año de la carrera aun no se define realmente a lo que uno se dedicará. Aun quedan ramos de programación, desarrollo web con Java o .Net cosa que llega a aburrir un poco por el motivo de que ya uno sabe programar a ese tiempo. Los ramos de análisis UML, creación de algoritmos e ingeniería de Software son muy llamativos ya que te llevan a pensar a lo grande. Sin embargo un ramo que adoro es el de S.O GNU/Linux, algo tan desconocido para la gente normal y algo tan grande a nivel de comunidades informáticas. Para que hablar de los demás ramos, estadística, cálculo , etc.. complementos importantes para ser un buen profesional.




   ¿Que puedes hacer ya teniendo 3 años de experiencia?

  - Muchos se dedican a estudiar y estudiar, sin embargo cuando llega el momento de la titulación se tienen que enfrentar a un mundo laboral totalmente desconocido para ellos.

  - Freelancear, realizar pequeñas aplicaciones web, realizar clases de programación y publicar avisos todos los días de lo que uno hace. En este campo me encuentro yo y bueno he podido sobrevivir y aprender bastante.

  - Trabaja como desarrollador Part-Time en una consultora. Muy buena opción, solo que debes considerar tener trabajo para la casa. Ademas de considerar tener que votar algunos ramos.

  - Por último trabajar en un Call Center como personal de soporte computacional. 




miércoles, 22 de agosto de 2012

La lógica de la programación de video-juegos

   Como programador siempre me ha gustando el tema de desarrollo de vídeo juegos, es claro que se tiene que tener un conocimiento de ciertos años, pero claramente depende del entusiasmo y la dedicación que se requiere. Muchas veces la lógica de programación para el desarrollo de vídeo juegos es lo más complicado, pero una vez entendiéndola, te das cuenta que puedes realizar lo que quieras. Lo principal es entender lo que es un loop. Muchas veces se habla de ello, pues es el motor de nuestro juego.

   Un loop es una función repetitiva que contiene la lógica del juego y que se debe estar llamando cada cierto tiempo indefinidamente, hasta que exista un botón o una acción que la detenga. Antiguamente los loops eran programados para que cumpliera un ciclo con la velocidad del procesador. Esto provocaba que en algunos computadores el juego funcionaba más rápido o en otros más lentos. Actualmente los loops cumplen un tiempo determinado con una función de timer.




var personaje;
var vida = 5;
 do{
 personaje.x = personaje.x + 1;
 vida = vida-1;
 }while(vida = 0)


    Este es un pequeño algoritmo de loop la cual hace que el personaje se mueva en forma horizontal y cuando la vida sea igual a cero este loop termina, La lógica del loop puede ser aplicado para cualquier lenguaje de programación solo se debe investigar ciertas funciones básicas como: timer(loop(),1000) = función que permita manejar un tiempo para un determinado ciclo. colision(), hittest() = función que permita colisionar(tocar) un objeto con otro. funciones de posicionamiento x,y = muchos lenguajes manejan la posición de objetos con coordenadas x,y o z(en 3d). boton event() = función que permita detectar un botón presionado. Pues una vez entendiendo esos conceptos, la programación de videojuegos es más fácil. En distintos tutoriales el Loop se le llama actualizar(), es lo mismo , una función que pueda actualizarse en un determinado tiempo.

martes, 26 de junio de 2012

PHP o JSP ?

 Siempre existe la preguntar de cual es la real diferencia de estos dos lenguajes. Al momento de crear un proyecto existe la pregunta ¿Qué lenguaje ocuparé? ... ¿El que más hemos usado? ... ¿O el que realmente da confianza?....    
  PHP ! Un lenguaje fácil, intuitivo y donde puedes lograr lo que quieras con el servidor... pero que hay en la seguridad? pues al ser interprete, los códigos quedan a la vista de cualquiera, quién pueda acceder de forma mal intencionada. Pues al ser interprete no existe un método de encriptación de claves para las conexiones de bases de datos u o conexiones remotas. Además al ser el más usado para la aplicaciones web, es también el mayor blanco de posibles invulnerabilidades.

  JSP ! Excesivo en códigos, haz de tener un servidor bastante bueno para soportar la cantidad de recursos que utiliza. Sin embargo es JAVA y este lenguaje es el "Futuro" según dicen. JSP es un lenguaje compilado, y si tratas de acceder al servidor, solo podrás ver .class y si estos están encriptados, pues olvida que puedas ver algún tipo de código... ya es un ejecutable para el servidor y para ti códigos compilados y encriptados.
   Pues está claro que para realizar páginas webs rápidas, la mejor opción es PHP. Pero si quieres realizar un web-service del Banco BBVA debes realizarlo en un lenguaje de la cual se requieran otros estandares de seguridad. Y JSP claramente ofrece esa posibilidad. 


           






domingo, 24 de junio de 2012

La mala costumbre al comenzar con PHP y no usar estándares.

   Muchas veces  el comienzo como programador sin antes haber estado en un tipo de enseñanza previa trae ciertas malas prácticas. Mi ejemplo claro fue cuando realicé mi primer proyecto web-service . Pues la verdad no tenia grandes conocimientos de los "estándares de programación", yo solo sabía programar a mi manera... El lenguaje que utilizé fue PHP, pues es muy bien documentado en la web y además es bastante intuitivo, pues quería evitar los otros lenguajes tales como Java (servlets y JSP) o ASP.

 

   Todo iba muy bien, la web funcionaba en perfectas condiciones, cosa que solicitaban se podía lograr. era impresionante la velocidad de programación. Sin embargo, el proyecto fue creciendo y cada vez se pedían más y más módulos, como también modificar otros ya existentes.  Esto ya empezaba a complicarse, pues ya no recordaba como funcionaban los primeros módulos y como no tenía como organizar la cantidad de código que se había realizado. Llegaron nuevos programadores y estos no podían lograr el funcionamiento, ni tampoco les motivaba a hacerlo. Entendí que el no tener un estándar de programación (ejemplo: MVC) y el usar un lenguaje aprendido por tutoriales iba a traer grandes complicaciones a futuro.

  Es por eso que debemos siempre regirnos a los estándares enseñados en las Universidades y siempre ver que lenguajes pueden ser los más adecuados a la hora de diseñar proyectos de gran envergadura. Pues PHP puede ser muy intuitivo y ha de tener mucha documentación, pero muchas veces se cae en la seguridad que tiene implementada.  


domingo, 13 de mayo de 2012

Isaac Asimov de la ciencia ficción a la realidad ... Los Robots

   Hace unas semanas abrió una librería cerca de mi casa, pase a ver que cosas y curiosidades podían ofrecer. Husmeando encontré un libro que me llamó mucho la atención, pues en la caratula aparecía una ciudad de esas tipo star wars. El libro se llamaba Fundación de Isaac Asimov. Un gran libro con una saga que te llena de ideas y conclusiones y bueno autor es un pionero (parecido a Julio Verne pero del siglo XX) habla de los robots y de su inteligencia artificial como algo venidero. De hecho el es también el escritor de Yo, robot.

   Investigando sobre mi nuevo admirador encontré una entrevista donde habla del aprendizaje del futuro, explicando que en cada hogar habrán bibliotecas cibernéticas para cada persona y es lo que hoy conocemos como el Internet. La saga fundación me ha ayudado en mis ramos de Sistemas de información donde explica  que todos los sistemas tienen un punto de destrucción (nada es perfecto) pero gracias a estadísticas y probabilidades se pueden prevenir desastres.

   Recomiendo 100% a este autor a quienes estudian informática o algún ramo referente a la tecnología y que además buscan ficción en los libros. Es motivador y entretenido saber que existieron personas que a partir de ideas, crearon los comienzos de nuevas ciencias como lo es la Robótica.







domingo, 22 de abril de 2012

Microsoft la macabra compañia de Sotfware

   En mis años como estudiante de Informática y como desarrollador de aplicaciones, me había puesto a pensar sobre la gran conocida Microsoft. He participado en muchas comunidades de softwares libre, llendo a charlas y reuniones. Pero nunca encontré una razón clara de para que mostrar el código y hacer un mundo mejor. Siempre es bueno guardar la receta y así prevalecer al creador, como coca cola company y su receta secreta de la bebida mágica color café. Tampoco entendía el por que el odio   a la compañia del sistema operativo Windows y criticarlo hasta un punto de decir que es la aplicación que ha hecho a la humanidad una desvolución.

  ¿Microsoft es malvado? ¿Por que? ¿Por no mostrar su código de un gran sistema? ... Siempre pensé que esa era la razón de que microsoft era odiado por estas comunidades. Y por lo tanto nunca le tomé importancia a este tema.  

   Pero hoy cambió ese pensamiento en mí y pude comprender el daño que ha hecho esta empresa a la humanidad. Puede sonar una muy fuerte oración, pero es así. Las razones son claras y existen pruebas y hecho de ello. Windows de hiso de el sistema operativo más usado en el planeta (de ello no hay nada malo), sus acciones crecieron y la empresa pasó a ser la mayor compañía con mayores ingresos del mundo ( en ello tampoco hay nada malo). Todo esto tiene una relación a los sistemas políticos y económicos. Comunistas , Capitalistas, sistemas de libre mercado. Un sistema de libre mercado de un comienzo fue maravilloso, el humano era libre, podía vender, comprar, consumir como quisiese. Pero muchas empresas crecieron y tomaron el control hasta tal punto de destruir su competencia y hacer lo que quisisen con productos esenciales para subsistir. Microsoft hizo algo parecido con su competencia. Tenían tanto dinero, que quisieron tomar el control de la ciencia de la Informática. ¿ Es tanto así ? pues sí, microsoft tenía ya un gran control de la computación con su sistema operativo, pero quería englobar aun más. Aplicación que aparecía esta la copiaba y destruía a su creador. Claros ejemplos son como lo que le pasó a Borland (la aplicación de desarrollo de aplicaciones), WordStar ( la aplicación de oficina para escribir cartas) o NetScape Navigator (la gran aplicación que hiso cambiar el mundo y el internet con su exploraror web). Aplicaciones que fueron creadas por grandes pensadores y que fueron copiadas por este mounstro y gracias a su gran capital, invirtir la forma de obtener la aplicación y distribuirla, amenzando a todas las démas compañias en que si distribuyen algo que no sea de microsoft se le cancelan las licencias para el sistema operativo (otro monopolio).




   Y es así como Microsoft Office, Internet Explorer, ASP, Age of Empires, Han sido grandes copias y softwares destructivos del pensamiento de algún inventor.
  
    NetScape fue el comienzo de una lucha antimonopólica ante Microsoft, El navegador fue copiado y fue amenzado, tal punto que I Explorer un horror de aplicación fue integrada libremente al sistema operativo windows dejando sin competidor alguno durante una decada. Pero todo sistema tiene un fin. La humanidad se ha dado cuenta de poder que tuvo microsoft y ha intervenido para que no siga ocurriendo. Nosotros como desarrolladores no debemos que siga pasando eso. No dejarnos pasar a llevar contra las grandes empresas que harán lo posible por tomar nuestra idea y dejarlas crecer aun más. No todo es microsoft y cada vez se irá notando.





martes, 17 de abril de 2012

Un ERP : Software de planificación de recursos


   Muchas veces no le damos mucho énfasis como estudiante a esta palabra ERP. Sin embargo, su significado tiene gran relevancia para nuestro futuro como programadores o ingenieros en informática. Un ERP es un software para empresas, donde globaliza gran parte de los procesos que está conlleva.  Ejemplo, un ERP para empresa de distribución de productos, donde tiene módulos de clientes, venta, despacho, facturación, inventario, contabilidad, estadística, etc…  Este software tiene que adaptarse a los cambios de la empresa. Muchas veces estas aplicaciones son desarrolladas por grandes consultoras, con un sistema generalizado. Pero también muchas veces las empresas necesitan necesidades específicas para sus diferentes áreas. El desarrollo de estas aplicaciones a la medida son muy costosas y requieren de mucho tiempo para lograr el objetivo.

  Un ERP hecho a la medida tiene una gran cantidad de fallas y estas son solucionadas a medida que la aplicación es usada.
  Esta aplicación generalmente es multiusuario ya que requiere de muchas personas de diferentes áreas el uso de datos, tiene una base de datos  centralizada y generalmente es instalada en un servidor local para una conexión local en la empresa. 






viernes, 13 de abril de 2012

Protocolos de aplicación y su ejecución en los servidores

   En mis tiempos de juventud estudiantil, era un simple usuario de internet. Navegaba como todas las personas lo hacen. Y como usuario final, nunca me importó como se producía cada proceso para visualizar un documento HTML.  Y es que somos muy cómodos para entender dicha complejidad.  Si a veces nos preguntamos cómo se hizo la coca-cola o como se realiza un determinado producto o como se realiza un servicio. Como Ingeniero ya no podemos darnos el lujo de usar algo y no saber cuáles fueron sus procesos para su creación, sobre todo cuando es algo relacionado con la computación, redes o informática.

     La internet es maravillosa y siempre es bueno darse un tiempo para entender sus complejidades.  Hoy hablaré un poco sobre la capa de aplicación del modelo OSI. La capa de aplicación tiene una gran cantidad de protocolos que se deben utilizar de forma estricta para desarrollar algún software o documento y poder transmitirlo a las redes y que sea recibido de forma correcta por el receptor. Para poder visualizar una página web, estas por lo general están alojadas en algún servidor, debes direccionarte mediante su dirección IP, pero para evitar escribir el numero IP , estas direcciones están alojadas en un servidor DNS que tiene por función guardar la direcciones y asignarle un nombre de dominio. Para acceder a una página web, solo tienes que escribir un nombre (ejemplo www.arraysblog.blogspot.com) y te conectarás al servidor DNS y este direccionará su ip correspondiente y podrás conectarte a servidor que está alojado dicha página. Pero para que el servidor pueda mostrar su web, este debe tener instalado el servicio de protocolo HTTP.

    HTTP es  otro protocolo de la capa de aplicación de la cual permite el intercambio de información de un cliente /servidor.  Pues es muy fácil poder aplicar todos estos protocolos y poder hacer una web y poder alojarla en un computador personal (como servidor). Solo que también hay que tener en cuenta la seguridad que se requiere para evitar ataques externos.



sábado, 7 de abril de 2012

Nuestro nuevo juego realizado en ActionScript 3 : 2012 The Game

   Pues como programador apasionado, nunca está demás dedicarse a algún hobbie y nunca es malo dedicarle a uno en el cual puedes aprender aun más sobre programación. Siempre he querido programar video-juegos, es como un sueño que ahora puedo hacer realidad gracias a los conocimientos adquiridos.De hecho el desarrollar videojuegos aumenta la capacidad de analizar problemas y codificarlos en sus respectivas funciones, me ha servido mucho en la Universidad al momento realizar una prueba de Java o . net.  Es por eso que ya hemos lanzado otro juego llamado 2012 : The end of the world. un juego en el cual debes destruir a los invasores antes de que lleguen a nuestro planeta. Está creado en un ambiente de 8 bits un ambiente histórico donde traen muchos recuerdos de niñez. CrogoGames es la organización que he creado con mi hermano (también informático) y aun estamos con la idea de seguir desarrollando juegos, solo que ahora tenemos la agenda un poco apretada, pero ya vendrán tiempo libres donde programaremos y haremos grandes juegos.



   Aquí esta el juego, que lo difrutes !: