Mostrando las entradas con la etiqueta Numero3. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Numero3. Mostrar todas las entradas

03 noviembre 2010

Editorial

Bienvenidos a este nuevo número de El Apunte del Byte, medio de difusión sobre temas de actualidad analizados desde la perspectiva de nuestros profesores que integran la academia de tecnologías de información y telemática de la Universidad Politécnica de San Luis Potosí. Hemos tenido mucha actividad reciente, congresos, presentaciones y visitas. Pronto celebraremos el Congreso Mexicano de Interacción Humano-Computadora en las instalaciones de esta Universidad. Así que reconocemos el esfuerzo de nuestros colaboradores y enviamos felicitaciones y nuestros mejores deseos para todos ellos.

También damos la bienvenida a Victor Fernández que esperamos se integre como colaborador regular, y que en esta oportunidad nos habla de Java, Google y Servicios en la nube.

También invitamos a nuestros lectores a mandar comentarios, sugerencias y aportaciones a esta publicación.

Esperamos que disfruten este nueva entrega !!

En este número:
Para Javeros ... GAE para Java. Por MC Victor Fernandez

La seguridad en Internet es responsabilidad de todos. Por MC Rafael LLamas

Las Ciencias son como juegos muy interesantes. Parte II. Por Dr Francisco Ordaz

Divulgación científica y tecnológica en la UPSLP. Por Dr Jorge Simón

Los juegos que te ayudan a incrementar tus habilidades. Por MC Hugo González

Los juegos que te ayudan a incrementar tus habilidades

por: MC Hugo González


Hola a todos los lectores, en esta ocasión no trataré temas tan técnicos como en las anteriores, sino que quiero tocar un tema que en lo personal me interesa y que considero que a más de uno le llamará también la atención.

Me voy a referir a los “retos” o “concursos” que abundan en Internet, y que sirven para medir tus habilidades, para incrementarlas y sobre todo para pasar un buen rato, con especial énfasis en los retos de seguridad informática.

Si eres de esas personas que te gusta resolver rompecabezas, de los que incitan a terminar las cosas con fraces como “A poco no puedes?” y te gusta aprender haciendo, estos retos son especiales para tí. A través de un concurso de programación, o un reto forense, puedes medir tu habilidad, incrementarla y aprender mucho mas, sobre todo porque el reto tiene una lógica y tiene pistas sobre las cuales trabajar. Durante la última semana de octubre asistí al BugCon 2010, un evento relacionado con seguridad informática, y ahí tenían 2 retos interesantes. Uno llamado Break the captcha, organizado por Bonsai, donde tienes 10 captchas ( para verificar si eres humano o un bot de software), y el objetivo es programar algo para resolver 5000 veces las captchas. Fué un reto muy interesante, donde por falta de tiempo, no terminamos de romper las 10, pero si logramos romper 5 de ellas, y con eso fue suficiente para ganarlo, y tuvimos algunos libros y alfajores argentinos.

Este reto aparte de llevarnos a entender como funcionan los captchas o como pueden ser implementados, también ayudó a refinar cuestiones de programación, manejo de sesiones desde el cliente, manejo de encabezados y otras cosas, y a mi compañero de equipo (que va en 3er sem) a programar en python y a utilizar algunas herramientas para analizar los encabezados de las paginas web.

Durante este evento también hubo otro “juego” llamado certificación Mendozaaa, [http://mendozaaaa.com] de los que fueron creo que nadie entregó resultados, espero la siguiente oportunidad si participar en ella :) Básicamente es una maquina virtual que no funciona y que hay que reparar y exponer ante un “jurado” el proceso de recuperación.

En estas conferencias hablé de algunos retos forenses, y de como podría ser una aproximación para resolverlos, incluyendo conocimientos básicos y herramientas utilizadas.
Utilicé como base el puzzle #6 de http://forensicscontest.com/ el cual logré resolver de una manera no muy compleja, pero las fechas en entrega ya se habían terminado. En este sitio se trata de casos donde debes realizar análisis forense a una captura de tráfico para poder responder algunas preguntas, y estas mismas preguntas te dan pistas y te van guiando. Debes tener conocimiento en redes, especialmente en TCP/IP.
Otro punto interesante es que te preguntan algunas cosas que no se pueden obtener de manera automática con herramientas, así que debes hacer uso de todas tus habilidades para resolverlo. Los retos anteriores están disponibles y también valen la pena para resolverlos. Luego podrías comparar tus resultados con los publicados.

Otra fuente de retos interesantes son los proporcionados por The Honeynet Project, este año ya se han publicado 6, e incluso el último tienen hasta finales de noviembre para enviar sus resultados. Estos retos van desde fácil hasta complejo y también te ayudan a desarrollar tus habilidades y a saber más. [ http://honeynet.org/challenges ].

No puedo dejar de mencionar el famoso concurso de programación de Google, que año con año pone a prueba a gran cantidad de programadores de todo el mundo para ver al final quien puede resolver todos sus problemas y acertijos. Para este concurso, se necesita más que solo programación, también es necesario tener conocimientos y habilidades matemáticas y físicas. Pueden ver los problemas y utilizar el sistema para enviar sus soluciones y practicar para preparase para el del siguiente año en http://code.google.com/codejam

También hay otro para inteligencia artificial, aunque no está organizado directamente por google, es uno de los principales patrocinadores, este año se trata de programar un bot para que conquiste el universo en un juego llamado Planet Wars / Galcon. Este lo pueden visitar en http://ai-contest.com/

Así como estos hay muchos otros retos y concursos que se puede resolver a través de Internet, y aparte de proporcionarte un buen rato, te ayudan a aprender más sobre seguridad, programación, redes etc.

Espero que lo hayan disfrutado y si les interesa pongan comentarios para profundizar más en alguno de ellos.

Las Ciencias son como juegos muy interesantes. Parte II

Por: Dr. Francisco Ordaz Salazar

En la emisión anterior del apunte del byte, hablábamos de como hacer más interesantes las ciencias a nuestros alumnos. Y planteábamos tratar las ciencias como juegos, en las que tenemos objetos básicos y reglas con las que podemos manipular los objetos para construir a su vez objetos más complicados. Nos quedamos tratando de plantear algún ejemplo interesante, hablando de Matemáticas Discretas decíamos:
¿Cuáles son mis objetos? (Mis juguetes)
Las proposiciones

¿Cuáles son las reglas del juego?
Las operaciones lógicas: La negación, la disyunción, la conjunción, la precedencia de los operadores, las leyes distributivas, etc.
A partir de estas reglas puedo construir proposiciones más complicadas
Ejemplo 1:
Dadas las siguientes proposiciones
P: Hoy es un día soleado
Q: Iremos a la playa
a)Nueva proposición R: P => Q
R: Si hoy es un día soleado entonces iremos a la playa.
b)Nueva proposición R: ¬P
R: Hoy no es un día soleado
c)Nueva proposición R: P ^ Q
R: Hoy es un día soleado e iremos a la playa

El ejemplo anterior muestra la construcción de nuevas proposiciones a partir de proposiciones simples. Y estas pueden ser tan complejas como uno quiera.


Vayamos ahora a explicar el concepto de recursividad. La recursividad es otro juego mediante el cual tenemos objetos muy diversos y dos reglas muy simples por aplicar. La primera es “el paso base” y la segunda es “el paso recursivo”.

Ejemplo 2:

Definamos por ejemplo la manera de construir cualquier árbol a partir de una definición recursiva. Nuestro juguete quedaría definido por el paso base:

(Ejemplo tomado del libro Matemáticas Discretas y sus Aplicaciones de Kenneth H. Rosen)
Paso Base: Un nodo r es un árbol con raíz.
Paso Recursivo: Supongamos que T1, T2, …, Tn, son árboles con raíz r1,r2,…,rn respectivamente. Entonces, el grafo formado comenzando por una raíz r, que no está en ninguno de los árboles T1, T2, …, Tn, y añadiendo una arista desde r a cada uno de los nodos r1,r2,…,rn, es también un árbol con raíz.

La seguridad en Internet es responsabilidad de todos

por: MC Rafael Llamas Contreras

Hoy en día vivimos en una revolución tecnológica constante, se preguntaran con justa razón y ¿qué es eso?, tomemos como referencia que, hace unos años era imposible pensar en que la telefonía fuera móvil y peor aún que pudiéramos estar “conectados”, es decir tener acceso a internet desde cualquier lugar en donde nos encontráramos, otro ejemplo, en la década de los 80’s solamente las grandes compañías podían tener acceso a computadoras personales, esto debido a su elevado costo y sobre todo porque quien llegaba a tener computadora en casa para esa época se consideraba que era un lujo, como quizás lo fue el teléfono en su momento, sin embargo esta tendencia se ha revertido puesto que dadas las facilidades y bondades que nos brindan algunas tiendas para adquirir una computadora, estaríamos fuera de “onda”, como dirían los chavos, si no tenemos una en casa, y realmente en la actualidad eso no significa que sea un lujo, sino mas bien se ha convertido en una necesidad, y ejemplos del uso de la computadora en la actualidad tenemos muchos, pues bien ya no solo es tener la computadora sino que hay un requerimiento que demanda esta “revolución tecnológica” como lo es, la conexión al internet, quizás hasta aquí todo va bien, vamos, tengo computadora, tengo internet ¿pero realmente somos conscientes de los riesgos y peligros que corremos al estar conectados a lo que algunos llaman la súper carretera de la información? A lo mejor hay quien piensa que no hay riesgos, que eso solo le sucede a los novatos, se ha preguntado estimado lector, usted que tiene computadora en casa, ¿si su antivirus esta actualizado? En el mejor de los casos me dirá que si, entonces le pregunto, ¿qué tan confiable es su antivirus? ¿qué otras medidas de seguridad tiene instaladas aparte de un antivirus?. Así como este ejemplo relacionado con su computadora, veamos ahora los riesgos que corremos cuando navegamos por internet, si usted es de las personas que le gusta que todo mundo lo conozca, que lo “chulien” dejándole mensajes en su espacio virtual o por correo y si es de los que quiere que todo el mundo se entere de sus gustos, aficiones y quizás hasta de la hora que sale por el pan, pues tenga cuidado porque los delincuentes ahora utilizan esa información que usted “inocentemente” deja en esos espacios virtuales como facebook, su metroflog, su hi5, etc., solo por citar algunos, para cometer diversos delitos tales como el chantaje, la intimidación, el acoso. La recomendación es que sea moderado, no publique información que se puede considerar confidencial tal como su dirección de casa, números de teléfonos, cuantos hermanos tiene, como se llama sus papas, etc.

En relación con el uso del correo electrónico la recomendación es que no habrá correo de personas que desconoce pues estos correos por lo regular suelen tener alguna trampa para que usted descargue ciertos programas que vienen infectados con algún virus, de repente solemos ser tan curiosos y nos dejamos llevar por el título del correo para pensar que es inofensivo y que realmente alguien nos está enviando una tarjeta postal, una presentación para reflexionar, etc., cuando realmente lo que contienen son archivos infectado con algún virus, así que la próxima vez que llegue a su buzón de correo electrónico un mensaje llamativo de una persona que usted desconozca piense que la curiosidad mató al gato.

Cualquiera que sea la situación lo que nos debe de preocupar y ocupar es la protección de nuestra información por lo que aquí les dejo estos sencillos consejos que créanme nos ayudaran a evitar muchos dolores de cabeza sobre todo cuando se nos presenta un problema relacionado con la perdida de nuestra información. Primero trate de tener un respaldo de su información, en otras palabras haga una copia de su información en un medio de almacenamiento distinto a donde se encuentra actualmente, otra recomendación que nos puede servir, es actualizar periódicamente todos aquellos programas que se puedan considerar vulnerables tales como, navegadores (browsers) o el propio sistema operativo, en este sentido microsoft saca actualizaciones periódicas para sus sistemas operativos tales como windows xp y windows vista, se mencionan estos últimos por considerarse que son los más utilizados actualmente, ya que hablamos de actualizaciones, asegúrese de que su antivirus este con las actualizaciones más recientes, esto garantiza una mejor protección contra cualquier tipo de virus. Creo que con estas recomendación es suficiente para empezar, en posteriores entregas estaremos ahondando de manera más específica sobre otro tipo de vulnerabilidades a los que estamos expuestos y como protegernos.

Los dejo con esta frase para la reflexión: “la tecnología va haciendo al hombre cada vez mas anticuado”.

Divulgación científica y tecnológica en la UPSLP

Por: Dr. Jorge Simón Rodríguez

En Ciencia y la Tecnología existen una gran cantidad de aplicaciones en la vida diaria, sin que a veces nos percatemos de ellas; desde el uso del teléfono móvil, el auto, la televisión satelital, la computadora y la internet, que son tan comunes, hasta la instrumentación sofisticada que se usa en un quirófano o revisión médica; todo ello ha surgido a partir de un concepto o de una teoría científica.
   
Pese a ello, la gente no especializada en materia de ciencia e ingeniería, tienen poco conocimiento de los desarrollos científicos y de aplicaciones tecnológicas que le afectan en su vida diaria, por ello es necesario unir esfuerzos para divulgarlos y contribuir en la formación científica y cultural de nuestro pais.
Como parte de las contribuciones de la UPSLP en materia de divulgación de la ciencia y la tecnología, se ofrece el día jueves 4 de noviembre el “Taller de Televisión satelital para niños”, como parte de la Semana Nacional de Ciencia y Tecnología (SNCyT), el cual explicará de manera muy básica como se efectúan las transmisiones de televisión desde una satélite y como son recibidas y proyectadas por un televisor. Este taller esta enfocado a niños de 1ero. Y 2do. año de primaria, es decir a esos niños cuyas edades oscilan entre los 6 y 9 años. Cabe mencionar que la UPSLP ha asumido su papel como institución educativa involucrada en la divulgación, ofreciendo anualmente dentro del marco de la SNCyT pláticas, talleres y actividades en general por parte de profesores especialistas en las distintas áreas de interés de la universidad.

Esta clase de actividades contribuyen a despertar el interés en los niños por la ciencia y la tecnología, específicamente en el área de las telecomunicaciones, que cómo es bien sabido es una de las áreas clave en el desarrollo de todo país y donde se requiere un número considerable de profesionistas que ayuden a disminuir la llamada brecha digital. Con este tipo de talleres se busca que los niños desde una edad temprana vayan encontrando su verdadera vocación y no simplemente se limiten a decidir por carreras donde ya hay demasiados egresados y el campo laboral es bastante reducido.

Como podemos ver la divulgación de la ciencia y la tecnología es parte clave en la sociedad en que vivimos, más en estos tiempos en que los medios de comunicación están plagados de noticias del mundo del espectáculo, deportes y política, por mencionar algunos, que por supuesto son parte de la cultura, pero que no deben opacar los aconteceres diarios de la ciencia y la tecnología.

Para Javeros….. GAE para Java

Por: MC Víctor Manuel Fernández Mireles

En algunas ocasiones, como programador no se conocen las diversas aplicaciones que se pueden realizar con lenguaje de programación en particular, así que se describirá de forma general en este escrito algo de lo que se puede realizar con el lenguaje de programación Java. Los GAE (Google App Engine) es la plataforma de Google que permite ejecutar aplicaciones en Java a través del internet aprovechando las ventajas de su infraestructura de hardware. Es un servicio de cloud computing que se utiliza para deslindarse del mantenimiento de un servidor web propio, pero con algunas restricciones.

Cuando se desarrolla y se prueba una aplicación web se instala en un servidor para que ésta sea accesible para los usuarios, la mayoría de las empresas pueden contar con la infraestructura es decir con un servidor propio o tener que recurrir al hosting, un proveedor que facilite los medios técnicos y humanos para dar servicio a una aplicación web. Para estos casos se pueden se pueden presentar problemas que varían con el tipo de aplicación y el número de usuarios que acceden a la aplicación. Una forma de solucionar estos problemas es utilizando el GAE, un servicio de almacenamiento y además de procesamiento de aplicaciones utilizando una arquitectura distribuida a través de internet, incluyendo las mismas políticas de seguridad y protección de datos que Google ofrece para otras de sus aplicaciones como el GMail y Google Docs. Es cuanto a las restricciones que se pueden presentar al utilizar esta infraestructura de forma gratuita es que el ancho de banda consumido, el cual debe ser menor que 6 GB mensuales, el almacenamiento para la aplicación o aplicaciones no superen los 500 MB y además, que algunas funcionalidades presentes en el JDK de Java en su versión estándar se encuentran limitadas.

De manera general, para poder utilizar el lenguaje de programación Java para implementar una aplicación en GAE, lo más recomendable es utilizando un plugin para Eclipse el cual ofrece Google. Para instalar este plugin se debe comprobar primeramente que se tiene instalado el JDK (Java Development Kit) en su versión 6 y el JRE (Java Runtime Enviroment) y en el Eclipse agregar el URL del servidor de Google. Una vez realizados los pasos anteriores se puede realizar un proyecto en Eclipse para realizar una aplicación de Java con GAE. Para subir una aplicación a la infraestructura de Google es necesario crear una cuenta en Google Apps, pero si se tiene una cuenta en GMail se puede habilitar esta cuenta para subir una aplicación específica de GAE. Cada vez que se realice una aplicación para GAE y se suba al servidor, Google proporciona un identificador para la aplicación mediante un URL, el cual servirá para que los usuarios puedan acceder a ella.

Si desean más información sobre este servicio que ofrece Google para el cómputo distribuido se puede acceder a la siguiente página web oficial para desarrollar aplicaciones para GAE:

http://code.google.com/intl/es-ES/appengine/

PD. Para los programadores en Python también se puede utilizar este servicio.
Saludos y no se limiten en utilizar cualquiera de los dos lenguajes de programación para desarrollar alguna aplicación GAE.