Evolución del Hardware y Software

Bueno, este es mi primer artículo, así que quiero aprovechar la oportunidad para felicitar a las personas que ha dedicado esta página web a la tecnología.
Bien, el hombre de las cavernas era grande, pesado, “menos inteligente”, y vivía para satisfacer sus necesidades básicas; pero con el pasar de los años evoluciona.
Del mismo modo los computadores (y la tecnología en general) pasaron de ser máquinas abominables a ser más pequeños, ágiles, maniobrables, económicos, etc. Pero hay un inconveniente: “holgazanería”.
Me explico, en los 80′s y principios de los 90′s los programas estaban “optimizados” para poder correr en las arquitecturas de ese entonces; reducían miles y miles de líneas de código, inclusive los algoritmos eran diseñados para obtener un mejor rendimiento.
Hoy en día los programadores “codificamos sin restricciones”, puesto que las arquitecutas de hardware no son problema alguno. El hardware evolucionó a pasos agigantados pero no sucedió lo mismo con el software.
Cambiando un poco el tema para volver a lo práctico; el 2009 fue un año para las netbooks, estos mini ordenadores representan el futuro de las pc’s, no solo por su ubicuidad, precio, tamaño, sino porque traen consigo un concepto nuevo de tecnología: “Cloud Computing”
Google, entre otras marcas, no apuestan en esta tecnología porque sí, ellos ya han visionado un futuro prometedor. En lo personal he trabajado con la mayoría de sistemas operativos basados en la Cloud (UNR, Moblin, Chrome OS, Jolicloud, y recientemente Android), pero estas experiencias tendrán una entrada dedicada posteriormente.
Las computadoras nos hacen la vida más fácil, desde mandar un email hasta algún día asear tu departamento. Ya para concluir esta entrada (que tiene para mucho y mucho más), les puedo decir que debemos saber implementarla a nuestra vida, no implementar nuestra vida a la tecnología. Así que ya saben, este verano a la playa, viajes, fiestas, etc. Es solo mi humilde consejo ;)
Me gustaría que discutiesen este contenido, aportando, cuestionando, etc.

Como se ven los fans de los lenguajes de programación entre ellos [Humor]

Yo insisto en que algunos de ellos se subestiman…

Originalmente visto aquí

Crear Hash MD5 en [PHP]

Hoy mientras veía la forma de implementar Gravatar en mi proyecto (con lo que me ahorraría líneas de código en lo de subir fotos propias y mostrarlas) aprendí algo que me pareció curioso y a la vez útil, sí!, tanto como para postearlo, una manera de crear un hash MD5 en PHP.

Pero, que es un Hash MD5?…

Pues según wikipedia:

MD5 es uno de los algoritmos de reducción criptográficos diseñados por el profesor Ronald Rivest del MIT (Massachusetts Institute of Technology, Instituto Tecnológico de Massachusetts). Fue desarrollado en 1991 como reemplazo del algoritmo MD4 después de que Hans Dobbertin descubriese su debilidad.

[...]

Codificación [editar]

La codificación del MD5 de 128 bits es representada típicamente como un número de 32 dígitos hexadecimal. El siguiente código de 28 bytes ASCII será tratado con MD5 y veremos su correspondiente hash de salida:

MD5(“Esto sí es una prueba de MD5″) = e0abc159956570f76f890fec22258477

Un simple cambio en el mensaje nos da un cambio total en la codificación hash, en este caso cambiamos dos letras, el «sí» por un «no».

MD5(“Esto no es una prueba de MD5″) = 74005c07412ae92ccded2dfe5e42ce36

Otro ejemplo sería la codificación de un campo vacío:

MD5(“”) = 74e6f7298a9c2d168935f58c001bad88

Y bueno, según leía en Gravatar, lo que hacen ellos es parsear tu email para sacarlo en un hash MD5 y utilizarlo en el link, así entonces generan un url, le agregan la extensión y bajo algunos otros parámetros salía el gravatar.

Osea, si por ejemplo tu email es iHaveAn@email.com, parseado a MD5 (así tal y como está el texto plano) resultará en: 3b3be63a4c2a439b013787725dfce802, y arman el link así:

http://www.gravatar.com/avatar/3b3be63a4c2a439b013787725dfce802.jpg

Con lo que tendremos la siguiente imagen:

Y bueno, hasta que supe esto, yo pensé que implementarlo en PHP sería por medio de algún algoritmo complejo, pero no me esperaba que estuviese implementado de manera nativa (y no sólo el MD5, también vi por ahí funciones para parsear sha1 y el MD5 y sha1 para archivos, wow).

El funcionamiento es sencillo, sólo le pasan un String a la función y se puede usar de manera en un hash MD5:

<?php
   //creamos una variable cualquiera
   $variable = "informatrix, mi blog favorito!!!"

   $variable_en_md5 = md5($variable);
   //creamos el hash a partir de esa variable

   echo $variable_en_md5;
   //lo imprimimos ya en formato MD5, que en este caso sería: 78d2f7ab91c219134a707ba19cf51393
?>

Me pareció curioso, sencillo y útil, a veces PHP me sorprende, y cada vez pienso más que la gente subestima este lenguaje de programación, pero en fin.

Espero les haya servido, a mi sí!…

Saludos!!!

Mas info | PHP MD5()

Colegiales arruinan la Huaca del Dragón en Chan-Chan

Hasta hace un par de horas, acabo de ser testigo de uno de esos Boom’es virales que suceden de vez en cuando en internet, y es que, muchas veces hemos tenido nuestro rato de palomillada de chiquillos, pero creo yo que la mayoría de personas sabe cuando hay que comportarse y guardar un respeto mínimo por las cosas de valor. No fue el caso de estos chicos que ni contentos con hacer de las suyas ante un patrimonio cultural de la humanidad, grabaron y colgaron el video en Youtube, una red social de doble filo, y que a veces saltan a la luz pública estos videos virales. En verdad, nunca había sido testigo de uno en nuestro país, siempre veía casos de otros lugares, aunque pues, realmente es indignante. Aquí el video:

La noticia primero salió en Twitter gracias a @elmorsa difundiendo lo que hasta donde nadie sabía era el mismísimo video del autor (yo me entere gracias a @XnupoX), un usuario en Youtube con el nombre “Tilintil0n”  quien puso en la descripción del video las palabras: “aka un kage de risa jijijiji”, luego sería difundido por el blog lamula.

Seguir leyendo …

Creando un sistema de blog propio [PHP]

Mucha gente dice a veces… para qué re-inventar la rueda?…y esto con referente a modelos estructurados de programación en los que siempre hay algunos aventureros inventando cosas sólo para que se les felicite o reconozca… bueno, esta vez yo tengo una razón un poco más de peso para re-inventar la rueda: INVESTIGACIÓN … (aunque claro, a veces hay gente hincha que exagera con eso y en vez de investigar lo que quieren es crear algo para intentar hacer competencia con lo ya existente… ¬¬, en ese caso, prefiero usar librerías conocidas), y bueno, esta vez quiero compartir en este post un proyecto que me mantuvo entretenido en lo que no he tenido internet el pasado mes y que aparte sirvió de buen “desestresador”, “desaburridor” y del cual no podía decir que estaba perdiendo el tiempo; un sistema de blog a partir de mis conocimientos básicos de PHP y MySQL.

En verdad, no es la gran cosa, no voy a vender gatos por liebres, ni decir que usé algo fuera de lo común que va a pegar en el mundo de la programación, y que muy aparte que exista WordPress, que lo recomiendo, esto quise compartirlo para que no se pierda en la bastedad del mundo de los 0 y 1, porque a fin de cuentas, todo el mundo puede tener un blog sin más personalización que hacer un par de clics (como en Blogger) o hacer algunas que otras modificaciones con etiquetas ya existentes a nivel código (WordPress) y bueno, después de probar tal o cual sistema, llegue a la conclusión -personal- de que no hay blog más personal que el que hecho por ti mismo desde 0 (esto es debatible, sólo es mi punto de vista personal ojo). Aunque bueno, es una experiencia rara XD… para proyectos serios obviamente usaría WordPress… pero vamos a ver qué tal va esto de crear tu propio sistema de blog!

Me di cuenta que, los blogs tienen cosas en común, y bueno, eso es obvio, el hecho está en que puedes crear un blog básico con unos cuantos archivos y algunas tablitas en MySQL  (que ni si quiera me preocupe en vincular con PK, FK, Joins, vistas, etc y eso porque no me gusta mucho esas cosas), que cumplan determinadas funciones básicas como un index.php, un archivo que muestre los post y comentarios (sí!… un solo archivo para mostrar de forma individual todos los post que tengas) y de preferencia un archivo donde almacenes funciones globales que crees que vas a utilizar en más de un archivo (en todo caso esto modulariza un poco el sistema) y ya el resto lo dejo a tu imaginación.

Pero bueno, vamos con lo técnico del sistema que hice, quizás a alguien le pueda funcionar…

Nota: Los códigos que veras son un alcance del sistema en sí, no es un tuto general de como hacer un blog con dos o tres archivos, sino pequeños avances de como es que hice esto en específico caso.

Seguir leyendo …

Pregúnteme! Con FormSpring.Me

Ayer Clayder me comentaba sobre un sistema que muchos gurús y entendidos del web usan para acallar un poco el feedback que supongo les llega a diario, y no le había tomado la importancia debida hasta que decidí indagar un poco al respecto… y bueno veo que este servicio tiene un buen potencial, el servicio se llama FormSpring y lo pueden encontrar en esta web http://formspring.me el funcionamiento es simple, te registras, creas tu cuenta, y tu perfil será un formulario de pregunta como el de la imagen que adorna este post, para todos aquellos anónimos que tengan alguna duda sobre ti, o en todo caso algún otro usuario del servicio! Y bueno, la pregunta se almacena y no se muestra hasta que quede respondida. Aparte que pueden enlazarlo con Twitter, Facebook, Tumbler, Blogger, etc!

Me gusta el servicio porque le da un toque personal al feedback, preguntando a una sola persona y esperando que te conteste, y como dicen, el exito muchas veces está en la simplicidad y gran utilidad de estos servicios!!!

Yo me creé mi cuenta, a la cual pueden acceder desde aquí y preguntarme cualquier cosa que quieran yo responderé con gusto y aunque no daré una respuesta teórica absoluta, si daré un punto de vista personal supongo.

Link | FormSpring Me

Sobre funciones y métodos

Mucha gente cuando empieza a programar, no entiende del todo este concepto de las funciones y el concepto de método, tanto porque o los profesores no son demasiado explícitos, o porque las funciones no son legibles al instante y pues en este post voy a intentar clarificar un poco eso un poco.

Primero que nada, una función no es un método, y viceversa, mucha gente confunde los términos porque en teoría tienen una aplicación parecida, pero hemos de diferenciar a la función del método con lo siguiente:

Función: Es una “acción” que se ejecuta al llamarse, y opcionalmente (y si es que ha sido definido así) con los parámetros que se le pasen (eso en ejecución) y pues por consiguiente, el trabajo que haga depende de esos parámetros o de cómo es que se llame. Por ejemplo:

Si definimos una función “Imprimir”

public void Imprimir(String cadena){

System.out.println(cadena);

}

Deberíamos ponerlo en donde lo necesitamos, de la siguiente forma:

Imprimir("Hola! a todos");

Para que imprima lo que le hemos pasado por parámetro haciendo el trabajo dependiente de eso que le pasemos!

Método: En cambio, un método siempre tiene una asociación con alguna clase, lo que muy aparte de la función de la función (valgan redundancias) va a depender tanto de los parámetros que se le pasen, como del objeto que esté operando en ese momento, osea prácticamente podríamos definir a un método, como la función dentro de un objeto, dejando en claro que todo método es una función, pero no toda función es un método. Por ejemplo:

En una clase definimos el método “Suma” de la siguiente manera:

public int suma(int y){

//la variable x es una variable declarada en el objeto supongamos,
 int x = this.x;
 int suma = x + y;
 return suma;
 }

En el main deberiamos definir el funcionamiento de esta manera:

//objetoOperacion o = new objetoOperacion()

//o.setX(10);

int suma = o.suma(20);
//Suponiendo que lo comentado arriba es correcto, deberíamos sumar un 20 al 10, osea daría un 30!
//System.out.println("La suma es: "+suma); //debe dar 30! 

Seguir leyendo …

Brecha digital

Antes que nada, espero que todos hayan pasado una feliz navidad y que este año todo lo que se venga sea positivo, yo estuve los anteriores 20 días en mi casita allá en la ciudad de Tumbes
(gracias Clayder por la promoción =D) y por motivos personales, deportivos y de trabajo quizás, no pude acceder a internet salvo contadas veces en las que entraba para dar una vuelta a mi mundo socio-amical en internet, pero bueno.

Hoy voy a empezar el año en IFX posteando sobre un tema un tanto controversial y más que informático un tanto político, económico y demográfico, algo llamado “Brecha Digital”, y bueno, advierto que si llegaste aquí por medio de Google, tomes esto como un punto de vista más que como una teoría, no me hago responsable de las malas notas que pueda causar en base a poner esto en tu tarea XD.

La primera vez que escuché este término fue en algo de 3 meses o menos, de boca de mi profesor del curso de “Informática y Sociedad” como un tema de reflexión entre tantos otros de los cuales el público en general considera de aburrido, y bueno, quizás no me ponga a explicar que cosa es esto de la brecha digital en sí, porque pueden ir a Google y buscar el término ustedes mismos, pero si quizá cuente como es que se siente vivir de ambos lados de tal situación, luego de estos días de vacaciones que he pasado.

Seguir leyendo …