Es increíble ver lo que un momento de ocio y mucha creatividad pueden hacer, la verdad es que no tenía idea de cómo había nacido esta red social, creo que muy pocos saben que inicialmente la intención era la de calificar el físico de las estudiantes en una Universidad, y lo que se me hace sorprendente, desde un cuarto de universidad con una computadora común y corriente y el creador ebrio, no cabe duda de que lo extraordinario de la historia es precisamente su protagonista: Mark Zuckerberg, y aunque el cómo surgió no me había inquietado, ahora que lo se me puse a recomendar la película precisamente en la red social que el creo.
La película no solo se basa en el cómo surgió Facebook, la cantidad de problemas que tuvo que enfrentar Mark no son nada envidiables, al crear “FaceMash” fue acusado de violar la seguridad y la privacidad personal, ya que se infiltro a la base de datos de la universidad. Después de esto nace thefacebook.com., Este proyecto comienza a ganar popularidad no solo en Harvard, sino que también gana bastante popularidad entre las universidades más prestigiosas de Estados Unidos, , y de ahí prácticamente al mundo entero, y aunque eso suena demasiado bien, da origen a un conflicto que comenzó a quebrar amistades y dio lugar a acciones legales para saber el cómo y a quien se le había ocurrido esta revolucionaria idea que claramente comenzó a hacer historia.
Personalmente creo que si tienes una buena idea jamás hay que abandonarla, creo que cuando Mark irrumpió la seguridad para sacar fotos de sus compañeras no se imagino que iba a terminar siendo Millonario, y no sabemos hasta dónde puede llegar un buen proyecto.
Mucho se ha dicho sobre ellos, los hemos visto en películas donde nos muestran a gente que es capaz de poner al mundo de cabeza, o donde se vuelven verdaderos héroes evitando ataques terroristas de otros hackers. Nos hemos creado demasiados mitos acerca de lo que son capaces de hacer.
Entrando a la realidad explicare que son y que hacen, la palabra Hacker viene de un término en informática que es “Hack”, un hack es una modificación hacia el funcionamiento de un programa, una maquina o un sistema informático, por lo tanto, eso es lo que hacen los Hackers, hacen modificaciones que van desde reconfiguraciones sencillas para facilitar el uso de algunos programas, hasta la violación de sistemas de seguridad de grandes empresas privadas o gubernamentales, ya sea en forma de protesta, por una gratificación monetaria o por simple hobbie.
Para lograr hacer este tipo de cosas hay que aprender a desarrollar ciertas habilidades, para hackear programas debemos aprender acerca de cómo están estructurados, y algo vital es aprender a programar, cuantos más lenguajes conozcamos será mucho mejor, podemos ir desde lenguajes como puede ser C++ o el más usual en páginas web que es Java, hasta el lenguaje Maquina si es posible.
Debo decir que hay herramientas que facilitan la tarea de hacer este tipo de cosas, en lo personal, yo juego varios juegos en línea, en donde por lo general necesitas pagar alguna membrecía o en ocasiones depositar una cantidad de dinero para acceder a ciertas características especiales, uno de mis juegos favoritos de llama “Wild Ones” en donde se pelea contra otros jugadores usando mascotas como jugadores, que van desde perros, gatos, conejos, hasta murciélagos, dinosaurios o dragones.
Para Hackear este juego solo hace falta un programa que se llama Cheat Engine, básicamente es un desensamblador que permite buscar en los procesos en memoria de los juegos en busca de variables asociadas a los trucos que se quieren conseguir, es una manera fácil de empezar a hacer y comprender lo que hace un Hacker, incluso hay varios tutoriales para aprender a usar estas herramientas, a continuación pongo un video tutorial donde se observa lo sencillo que es hacer un hack.
Como lo mencione antes, se pueden hacer hacks en prácticamente cualquier programa, en la actualidad incluso se escucha el termino “Hacktivista” como los famosísimos “Anonymous”, ellos se dedican principalmente a la defensa de derechos como la libertad de expresión y ataques ha paginas gubernamentales en forma de protesta, lo cual en mi opinión, es una forma bastante buena y actualizada de protesta.
Creo que todos sabemos o al menos imaginamos que la educación en México está muy rezagada, el nivel de preparación entre nuestras instituciones educativas parece estar muy por debajo de los estándares mundiales. Comenzare esta reseña contando una anécdota personal, hace tiempo acompañe a un amigo a pedir trabajo a una empresa donde se dedicaban a la instalación y mantenimiento de sistemas de refrigeración, el es egresado de la carrera de Ingeniería en Comunicaciones y Electrónica por parte del Politécnico, cuando llegamos a las oficinas donde iba a hacer su entrevista en la entrada vi un letrero que llamo mi atención, el letrero decía: “No se admiten egresados de Conalep o CETIS”. Mi primera reacción fue de asombro y desilusión, yo ni siquiera iba a pedir trabajo y sentí que me la habían mentado, analice y me pregunte, ¿La educación que nos dan será tan mala?, pensé en que aunque sea mala hay quien le echa ganas, es eficiente y da buenos resultados, después de un buen rato con esa idea en la cabeza y tratando de comprender el por qué no querían ni siquiera dar oportunidad, mi amigo salió, le pregunte su opinión y él me dijo que generalmente en estas escuelas la educación no es muy practica, que no nos preparan para el campo laboral y que carecemos que equipo necesario para practicar cosas básicas, cosa que es verdad, ya que aunque en teoría yo egrese con el título de Técnico en Servicios a Equipo de Computo, nunca nos dejaron hacer muchas cosas con el equipo de la escuela, fue hasta que yo tuve necesidad de aplicar lo que aprendí en la escuela, y aun así, muchas cosas que no sabía las tuve que aprender por mi cuenta.
Es momento de hablar de la Reforma integral de Educación Media Superior. Esta reforma pretende de cierta manera estandarizar el nivel académico de la educación media superior, para que casos como el que puse de ejemplo no sigan pasando, además de preocuparse por el nivel académico, también pretende ocuparse del rezago que existe en cuanto a cobertura. Se calcula que hemos alcanzado el máximo histórico en el número de jóvenes que tienen entre 16 y 18 años, los cuales tienen la edad para cursar la educación Media Superior, y a la fecha solo el 49.1% de los jóvenes de esta edad termina con éxito, esto obliga al gobierno mexicano a tomar medidas para solucionar los problemas más comunes para la educación, los cuales pueden resumirse en tres acciones importantes:
* Ampliación de la Cobertura
* Mejoramiento de la Calidad
* Búsqueda de la Equidad
Pala lograr resolver estor programas tenemos que lograr una concreción entre los elementos que interactúan en la educación, podemos dividirlo en 4 diferentes niveles de concreción.
1.- Nivel Interinstitucional
Es el consenso entre instituciones que ofrecen el nivel de Educación Media Superior, es decir, que entre instituciones se tienen que poner de acuerdo en torno a como solucionar los problemas en torno al sistema de bachillerato.
2.- Nivel Institucional
Una vez que entre instituciones se ponen de acuerdo, las instituciones tendrán que ver cuál es el aporte que pueden ofrecer al mejoramiento del sistema educativo para satisfacer la demanda de los estudiantes.
3.- Nivel Escuela
Sabiendo los aportes que pueden ofrecer a nivel institucional, se tiene que ver también el aporte que podrá ofrecer cada plantel en términos de instalaciones, equipamiento, tutorías y actividades complementarias.
4.- Nivel Aula
Es donde interviene el personal docente, en mi opinión es el pilar más importante, ya que son los que tienen trato directo con los alumnos, y ellos son los encargados del desarrollo y evaluación del proceso de aprendizaje.
Una vez logradas estas concreciones entre todos estos elementos, será necesario establecer competencias, para lograr esto, la Reforma organiza estas competencias en seis categorías:
Autoconocimiento.
1 Conocerse y valorarse a sí mismo abordando problemas y retos teniendo en cuenta los objetivos que persigue.
2 Ser sensible al arte participando en la apreciación e interpretación de sus expresiones en distintas expresiones artísticas.
3 Elegir y practicar estilos de vida saludables.
Expresar y comunicar
4 Escuchar, interpretar y emitir mensajes pertinentes en distintas situaciones mediante la utilización de medios y herramientas apropiados.
Pensamiento crítico y reflexivo
5 Desarrollar innovaciones y proponer soluciones a problemas a partir de métodos establecidos.
6 Desarrollar y fortalecer una postura personal sobre temas de interés y relevancia general, considerando otros puntos de vista de manera crítica y reflexiva.
Aprender de forma autónoma
7 Aprende por iniciativa e interés propio, esto implica fijarse metas y la valoración del cómo se pueden alcanzar.
Trabajar colectivamente
8 Participa y colabora de manera efectiva en equipo, adoptando una actitud constructiva y aportando puntos de vista benéficos para el trabajo en equipo.
Participar responsablemente ante la sociedad
9 Participa con una conciencia cívica y ética en la vida de su comunidad y con el resto del mundo.
10 Mantiene una actitud respetuosa hacia la diversidad cultural, de creencias, valores, ideas y las diferentes prácticas sociales.
11 Conocer derechos y obligaciones como mexicano y como miembro de distintas comunidades e instituciones.
Esta reforma me suena demasiado prometedora, pero una realidad es que hay demasiado que cambiar, cada uno de nosotros debemos estar consientes del papel que tenemos en este gran sistema, maestros, instituciones, alumnos, sociedad, todos somos responsables de lo que está pasando, y todos podemos hacer que todo esto sea una realidad, es momento de dejar a un lado la gran parálisis intelectual que nos ha tenido estancados por todo este tiempo, es tiempo de tener un modo más propositivo de pensar, hay que saber cuestionar y saber reclamar ante las deficiencias y las injusticias que nos rodean, hay que saber exigir, hay que saber que si podemos lograrlo, podemos llegar a ser una gran nación, pero sobre todo, podemos llegar a ser grandes personas, tan grandes como nosotros queramos.
Para empezar a entender lo que implica una base de datos hay que empezar desde definir lo que significa “Dato”. Un dato es la parte más pequeña de la información, por ejemplo: “Víctor”, por si solo ese dato no nos indica nada, es solo un nombre, si agregamos otro dato por ejemplo “22 años”, podríamos deducir que se trata de su edad, al agregar otro dato que puede ser “Tláhuac D.F.” deduciríamos que se trata del lugar en donde vive, sabremos así que estamos hablando de alguien llamado Víctor que tiene 22 años y vive en Tláhuac D.F., así es como se empieza a formar la información, es decir, la información no es otra cosa más que el conjunto de datos acerca de algo o alguien, y una base de datos es una serie de datos organizados y relacionados entre sí, los cuales forman un sistema de información que puede ser consultado y modificado dependiendo de las necesidades que debe cubrir.
Antes de empezar a crear una base de datos debemos planificarla bien, ya que uno de los principales problemas de la creación de bases de datos es que nunca sabremos con exactitud como funcionara hasta que este “terminada” y comencemos a usarla, hay que tomar en cuenta desde un inicio el tipo y cantidad de datos que vamos a utilizar, en esta etapa de creación debemos tomar en cuenta a lo que se le llama Normalización de Bases de datos.
El proceso de Normalización consiste en establecer reglas para evitar problemas al usar nuestra base de datos, uno de los problemas más comunes es la redundancia de datos, cada dato registrado ocupa un espacio, hay ocasiones en que varios registros comparten un dato igual, para estos casos existen ficheros dentro de los programas gestores de bases de datos que evitan el desperdicio de espacio, debemos también poder crear una base en donde se puedan actualizar datos sin presentar mayores complicaciones, también tendremos que pensar en proteger la integridad de los datos, y en ciertos casos ocultar datos de cualquier persona ajena a la gestión de datos.
Adentrándonos en las medidas de normalización para evitar estos problemas, encontramos que cada tabla creada debe tener un nombre único, esto para evitar futuras confusiones y contratiempos a la hora de consultar datos. No pueden existir dos filas iguales, ya que no se permiten duplicados. Todos los datos de una columna deben ser del mismo tipo. Todas estas reglas de normalización le darán a nuestra base de datos una mejor funcionalidad y harán que nuestra base sea más flexible y fácil de usar.
Una forma de crear una base de datos que puede ahorrarnos muchos dolores de cabeza es el de usar modelos de diseño de bases de datos, por ejemplo el modelo MER (Modelo Entidad/Relación).
Para usar este modelo debemos entender a que se refieren los términos “Entidad y Relación”.
Una Entidad se puede tomar como el objeto del cual se va a almacenar información, como en el ejemplo que puse en un inicio, una entidad puede ser una Persona, la cual va a tener diferentes atributos, como puede ser la edad, el sexo, nombre, teléfono, dirección, etc. Estos datos pueden ser fraccionados por grupos, como pueden ser: datos personales, datos de escolaridad, datos laborales, etc.
Una relación es una asociación entre entidades, que aunque en el mundo real que estamos modelando no tengan una relación real, existen tres tipos de relaciones:
Relación 1-1, esta relación se da entre dos entidades, por ejemplo, la entidad “Hombre” y la entidad “Mujer”, y entre ellos la entidad “Matrimonio”. La relación seria así: 1 Hombre – 1 Mujer.
Relación 1-n, este tipo de relación indica el caso donde una entidad esta asociada por varias a través de una relación, por ejemplo la entidad “Escuela” y la entidad “Alumno”, como sabemos, en una escuela hay muchos alumnos, y la relación entre ellos es precisamente que estudian en la misma “Escuela”. La relación podría quedar así: 1 Escuela – n Alumnos (varios alumnos).
Relación n-n, esto ocurre cuando varias entidades comparten una relación con otras varias entidades, por ejemplo, tomando el caso de la escuela podemos tomar a los alumnos y a los maestros, ambos son identidades diferentes, y la relación entre ellos es que pertenecen a la misma escuela.
Explicándolo de manera gráfica lo podemos representar así:
Este modelo de creación de bases de datos nos permitirá explorar entre grandes cantidades de datos de manera más sencilla, por ejemplo, si en una escuela queremos buscar a los alumnos de promedio de 9 o más, bastara con buscar solo esa característica, y no tendremos que buscar alumno por alumno, lo cual nos ahorrara mucho tiempo y esfuerzo.
jQuery no es más que una biblioteca para JavaScript para poder trabajar con DOM (Modelo de Objetos del Documento) de un modo muy simple, ya que como podemos darnos cuenta, en las páginas web se usan aplicaciones cada vez más complejas, los efectos visuales y animaciones son muy atractivos para quien los ve, pero desarrollar aplicaciones de este tipo desde cero suele ser demasiado complicado, para esto nos sirve jQuery, ya que nos facilita el desarrollo de aplicaciones despreocupándonos también de la compatibilidad entre sistemas operativos, ya que como lo hemos visto en temas anteriores, el lenguaje de Java resuelve esta situación.
Un tema que suele ser preocupante para los desarrolladores que usan Javascript, es el hecho que tienen que hacer scripts compatibles con varios navegadores, lo cual implica que tienen que incorporar demasiado código únicamente para detectar el navegador que está utilizando el usuario para después funcionar sin problemas. En este tema es donde jQery más nos ayuda, ya que contiene una serie de clases que nos permiten programar sin preocuparnos por el navegador, ya que nuestro programa funcionara en cualquier navegador desde donde sea visitada nuestra página web.
Para obtener esta biblioteca solo falta acceder al siguiente Link:
jQuery
La descarga de esta herramienta es completamente gratuita, lo cual también es una ventaja sobre algunos productos en el mercado que tienen una funcionalidad muy similar, como es de esperarse cada uno tiene sus ventajas y desventajas, pero jQery cuenta con una excelente aceptación por parte de los desarrolladores, gracias a que es un producto serio, estable y muy bien documentado, con un grupo importante de desarrolladores a cargo de la mejora de jQuery.
Sin duda la ventaja más apreciable con esta herramienta es la simplicidad con la que puedes programar, a continuación pongo una imagen con un código para establecer un botón de acción, y como podrán observar el código en realidad es muy sencillo:
Android se ha convertido en el Sistema Operativo Móvil de mayor influencia en los equipos móviles, a grado de que hoy en día más de 850,000 dispositivos móviles se activan con Android, esto es un 250% más que el año pasado. Puede usarse para Smartphone, Laptops, Netbooks, Tabletas, Google TV, Relojes de pulsera, Auriculares y más dispositivos móviles.
Las aplicaciones generalmente son desarrolladas en lenguaje Java con Android Software Development Kit (Andoid SDK), la programación con esta herramienta no requiere que sepamos lenguajes complejos de programación, basta con un conocimiento básico de Java.
Existen infinidad de aplicaciones y se pueden hacer cosas bastante variadas dentro de la plataforma de Android, como puede ser: ver videos, tomar fotos y grabar video, navegar por internet y descargar ficheros, acceder y administrar redes sociales, escuchar música de una forma revolucionaria, ya que no necesitas llenar la memoria de tu dispositivo gracias a Google Music, que permite almacenar la música dentro de la aplicación y no en la memoria, tener servicios de mensajería instantánea, hacer uso de los servicios de localización que ofrece Google Maps, escuchar tanto Radio como Podcast y jugar con los miles de juegos disponibles para Android.
A la fecha ya existen más de 400,000 aplicaciones para Android, de las cuales el casi el 70% son gratuitas, y pueden ser descargadas de la página de Android Market:
https://market.android.com
Este sistema operativo nace con la necesidad de estandarizar un Sistema operativo para dispositivos móviles, inicialmente pensado solo para Black Berry y Smartphone, pero los demás dispositivos no podían ser ignorados, ya que en estos últimos años los dispositivos móviles superan en ventas a los equipos de escritorio, la tecnología ha estado avanzando demasiado rápido, la tendencia tecnológica es hacia la movilidad y la compatibilidad entre dispositivos.
En este link pueden verse los avances y noticias acerca de Android.
www.android.es
Como último dato curioso encontré que los nombres de las versiones de Android están basados en postres en Ingles, estos siguen una secuencia alfabética:
En la actualidad Java ha ido cobrando cada vez más importancia, pero ¿Qué es Java?
Java es un lenguaje de Programación Orientada a Objetos, el cual permite crear cualquier tipo de programas, la ventaja más grande de Java consiste en que es independiente de la plataforma, es decir que una vez creado el programa en Java podrá correr en cualquier Sistema Operativo, esto debido a que se ha creado una maquina Java para cada sistema operativo que hace un puente entre el Sistema Operativo y el programa en Java para que se entiendan a la perfección.
Esta independencia de plataforma fue lo que lo hiso interesante para internet, ya que a internet están conectadas computadoras con una gran variedad de plataformas, además de que Java se ha desarrollado también para dispositivos móviles. Por lo tanto una gran cantidad de programas han sido codificados en el lenguaje de Java, lo que hace necesario la instalación de java, ya que las aplicaciones de sitios web creadas en Java no son funcionales a menos que no esté instalado. Afortunadamente Java se puede descargar muy fácilmente, se puede obtener la última versión en el siguiente link:
Descarga Java Gratis!!
Una de las características principales de Java es que es un Lenguaje Orientado a Objetos, este lenguaje hace que los distintos tipos de datos usados dentro del código estén unidos entre sí, así los datos y el código se combinan en entidades llamadas Objetos. Un objeto puede verse como un paquete que contiene Estado y Comportamiento. Esta separación en objetos hace que sea más fácil el diseño de Software, así los proyectos fallidos son menos que con la Programación Estructurada.
Java tiene la ventaja de poder usar librerías graficas, como es el caso de “Swing”, esta librería contiene herramientas para crear una Interfaz Grafica, tales como cajas de texto, botones, desplegables y tablas.
Como podemos ver, Java nos ofrece facilidades realmente importantes a comparación de otros lenguajes de programación, siendo su principal cualidad su independencia de plataforma, además de que existe Software especializados en facilitar la programación en java, como es el caso de Eclipse, Eclipse es un programa de desarrollo en lenguaje Java, el cual ofrece desarrollar programas de una manera fácil y más rápida, aumentando también la calidad de nuestro producto final.