Archive for ‘Educacion’

junio 14, 2011

¿Deseas publicar tus contenidos en linea? [Sábado de Software Libre no. 19]

por Josue Ortega

Este sábado 18 de junio se estaran realizando los talleres de los gestores de contenido (CMS):

  • WordPress, impartido por @tian2992 y @dulios
  • Newscoop , impartido por Claudia Cruz
Hora: 14 horas
Lugar: salón ITCoE en el edifício T3 de la facultad de ingeniería – USAC (Cuarto Nivel)
Entrada: Totalmente Gratis(Incluye CD con las aplicaciones)
mayo 24, 2011

El verdadero significado de ser un Hacker

por Josue Ortega

Me encuentro leyendo el libro “Sofware Libre para una sociedad Libre” de Richard Stallman y encontré un texto que no podía dejar de compartir y así ayudar a contrarrestar la mala fama que los medios le han dado a los hackers, el texto es el siguiente:

   El uso de la palabra «hacker» para definir al «que rompe sistemas
de seguridad» es una confusión promovida por los medios de comu-
nicación. Nosotros, los hackers, nos negamos a reconocer esta acep-
ción y seguimos utilizando este término para describir a «alguien que
ama la programación y disfruta explorando nuevas posibilidades» 
                                            Richard Stallman
Y para dejar aun mas claro todo:
  Resulta difícil dar con una definición sencilla de algo tan variado como es el hacking,
pero creo que lo que la mayor parte de los hackers tienen en común es la pasión lúdi-
ca, la inteligencia y la voluntad de exploración. Podemos decir que el hacking signifi-
ca explorar los límites de lo posible con un espíritu de sagacidad imaginativa.
Cualquier actividad en la que se despliegue esta sagacidad tiene «valor» para el hac-
ker. Puedes ayudar a subsanar este malentendido haciendo una simple distinción
entre la intromisión en la seguridad de un sistema y las actividades de hacking, emple-
ando el término cracking para la primera. Quienes se dedican a esto se denominan crac-
kers. Es posible que un cracker sea también hacker, o ajedrecista, o golfista; pero la
mayoría no lo son («On Hacking», RMS; 2002).
diciembre 8, 2010

Enlazando WikiLeaks

por Josue Ortega

La idea es la siguiente: Cuantos mas enlaces  tenga Wikileaks los ciudadanos obtendrán de una forma mas fácil sus contenidos,  estos mismos se posicionaran mejor en los buscadores y se distribuirá la información de una forma mas rápida.

Para mas información del movimiento:  http://www.lasideas.es/


julio 10, 2010

Converciencia 2010

por Josue Ortega

Este 26 de julio arranca Converciencia 2010, un evento organizado por CONCYT, el cual tiene por objetivo que la sociedad guatemalteca conozca proyectos de Cientificos guatemaltecos que trabajan en investigacion tanto dentro como fuera de las fronteras de Guatemala.

El año pasado lamentablemente solo pude a asistir a una conferencia que fue impartida por el Dr. Quevedo, “Dimensiones Extra Exponencialmente Grandes” fue la unica que pude asistir debido a los estudios en la Universidad y la conferencia se llevo a cabo en el campus.

Esperando poder participar más este año aqui dejo la informacion del evento y su respectivo flyer 😉

En 2005 se llevó a cabo la primera edición de CONVERCIENCIA, que es un encuentro, en Guatemala, de científicos nacionales que trabajan en investigación fuera el país. Con esto se busca lograr varios objetivos:

• Interesar y estimular a jóvenes estudiantes de secundaria y de universidad, en el trabajo de investigación y en la ciencia en general.

• Hacer patente, ante diferentes sectores (académico, privado y público), así como al público en general, la necesidad y la urgencia de desarrollar la ciencia y la investigación en Guatemala, para alcanzar el bienestar que todos anhelamos.

• Dar a conocer el importante y apasionante trabajo que realizan en sus laboratorios, así como lo que está ocurriendo en la frontera del conocimiento en otros países.

• Dar a conocer que en Guatemala se forman profesionales de alto valor y capacidad, reconocidos internacionalmente, y que es necesario que el país genere los espacios y oportunidades para que, en el futuro, las personas que estén en ese caso, puedan permanecer en Guatemala y dar su valioso aporte al desarrollo científico, económico y social.

• Propiciar un intercambio de los científicos visitantes, con sus pares residentes en el país.

• Mantener activa la Red Internacional de Científicos Guatemaltecos, en la que participen todos los investigadores nacionales, tanto los que radican en el país, como quienes trabajan en el exterior.

• Recibir ideas para desarrollar con éxito algunas de las actividades del Plan Nacional de Ciencia, Tecnología e Innovación 2005-2015

El programa incluye conferencias y talleres ofrecidos por los científicos visitantes, sobre temas de ciencia, dirigidos a estudiantes y a público en general e intercambio de científicos visitantes con investigadores que radican en Guatemala.

En 2005, primer año en que se celebró CONVERCIENCIA, vinieron a Guatemala once doctores, científicos que hacen investigación en diferentes países. En los años subsiguientes, hasta la fecha, han participado 43 científicos guatemaltecos, que no solamente han presentado conferencias y propuestas de investigaciones y proyectos, sino que han promovido el establecimiento de importantes programas de cooperación con los científicos locales, especialmente en el campo de la formación de recursos humanos de alto nivel.

enero 17, 2010

Tutorial JLEX y JAVA CUP

por Josue Ortega

Debido a que en la web no se encuentran ejemplos concretos del uso de JLEX y JAVA CUP,  he decidido escribir un tutorial para el  generador de analizadores léxicos  JAVA JLEX y el generador de analizadores sintácticos JAVA CUP, he creado una nueva pagina en este blog dedicada a un tutorial y al estudio de estas herramientas, el enlace es: https://openfecks.wordpress.com/jlex-y-cup/

enero 13, 2010

Conversión de Millas a Kilómetros con Números Fibonacci

por Josue Ortega

En mi fría y ociosa tarde he aprendido un fact muy interesante: con los números de la serie de fibonacci podemos hacer conversiones de millas a kilómetros o viceversa.

Nunca creí que esta serie que más de alguna vez nos hizo pensar en un ejercicio de programación recursivo, o en la clase de matemáticas discretas cuando se ven ecuaciones de recurrencia, seria tan divertida  😛

bueno aquí viene la magia:

Tomamos 2 números de la serie consecutivos, por ejemplo 8 y 13, y YA! haha, 8 millas son el equivalente a 13 kilometros. sorprendente huh?

Para convertir de millas a kilómetros, tomamos el numero siguiente en la serie fibonacci, de kilómetros a millas tomamos el anterior en la serie…

Bueno seré mas exacto tomare otros 2 números: 21 y  34, según nuestro metodo 21 millas es el equivalente  a 34 km, haciendo calculos varios, 21 millas  son equivalentes a 33.7962 km  :D, una aproximación bastante buena :).

Pero que pasa cuando queremos calcular el equivalente de un número que no se encuentre en la serie, solo debemos expresar el numero que elegimos, en una suma de números fibonacci, por ejemplo, el numero si queremos saber el numero de millas que hay en 100 kilómetros, Para expresar 100 en numeros fibonacci seria: 89+8+5.

Cuando ya tenemos estos numeros calculamos el siguiente fibonacci de cada uno:

Siguiente de 89->144, siguiente de  8->13,siguiente de 5->8 (OJO NO SON PUNTEROS  HAHA )

ahora sumamos los siguientes de cada fibonacci: 144+13+8=162 km, al hacer nuestro calculo 100 millas son equivalentes a 160.93 km, bastante cerca de nuestro resultado :).

Ahora veamos que es lo que pasa, si calculamos las raíces de la ecuación de recurrencia de fibonacci  Fn = Fn-1 + Fn-2 obtenemos que una de las raíces es (1+√5)/2. Esta raíz es conocida en matemática como numero aureo:

Se trata de un número algebraico que posee muchas propiedades interesantes y que fue descubierto en la antigüedad, no como “unidad” sino como relación o proporción entre segmentos de rectas. Esta proporción se encuentra tanto en algunas figuras geométricas como en la naturaleza en elementos tales como caracolas, nervaduras de las hojas de algunos árboles, el grosor de las ramas, etc.

El número áureo repersentado con la letra griega φ(phi) es: 1.618033…

Y si notamos,es bastante cercano a la relación que existe entre millas y kilómetros(1.609), por lo que obtenemos resultados bastante aproximados entre los números de fibonacci y la relación que existe entre millas y kilómetros.

Casualidades de la vida.. 🙂

octubre 27, 2009

Sabados de Software LIbre

por Josue Ortega

Regresan los Sabados de Software Libre en la Universidad de San Carlos de Guatemala

LOS ESPERAMOS 😀

septiembre 28, 2009

Turorial: Parser Descendente Recursivo

por Josue Ortega

Bueno para los que se preguntan como hacer un parser a partir de una gramática que hemos diseñado, aquí le enseñare brevemente como hacer un parser descendente recursivo

Tenemos que tomar en cuenta lo siguiente:

1. Nuestra gramática no debe ser recursiva a la izquierda.Por ejemplo la producción

E::=Er

es recursiva  la izquierda, para este tipo de gramáticas nuestro parser no sería funcional, asi que hay que quitarle la recursividad a la izquierda

2.Debemos construir los conjuntos: First, Follow, para cada producción de nuestra gramatica.

Estructura del parser:

LookAhead: Esta variable(global), inicialmente es el token de mas a la izquierda de la entrada.

Por cada NO TERMINAL de la gramática debe existir un procedimiento del parser.Para hacer mas fácil su programación, el nombre del procedimiento tendrá el nombre del no terminal.

Cada una de las opciones del no terminal formaran el cuerpo del procedimiento.

Procedimiento Match: Con este procedimiento sabremos si es el TERMINAL correcto, lo detallare a continuación

void Match(token simbolo){
if(lookahead==simbolo)
lookahead=siguienteSimbolo;/* para obtener el siguiente simbolo se puede hacer un procedimiento para pedir el siguiente toke que recibimos del analizador lexico*/
else
ERROR
}

Bueno, ahora a programar, escribiré un parser para la siguiente gramática:

terminales: x,y,z;

E:=xP | H     /*  E produce x segido de la producción P ó la producción H       */

P:=Tz

H:=y

T:=yx;

****************************************************************

var token lookahead;//variable del tipo del token que ustedes utilicen

void main {

//Iniciar Scanner si s necesario

lookahead=nexToken() // funcion que devuelve el token siguiente

E();
}
void E(){
if(lookahead==x)
Match(x);
P();
else
H();
}
void P(){
T();
Match(z);
}
void T(){
Match(y);
Match(x);
}
void H(){
Match(z);
}

Y así de sencillo es un parser descendente Recursivo 🙂

Si se dan cuenta el parser recorre el árbol de arriba hacia abajo de allí viene descendente,

Y Recursivo se debe a que el parser puede llamarse a si mismo directa o indirectamente por medio de sus funciones 🙂

Espero que les sirva de algo,

Dudas, comentarios o sugerencias, no duden en escribir

saludos

septiembre 25, 2009

El Nombre Correcto es GNU/Linux

por Josue Ortega

Y una vez mas dándole el seguimiento al hilo del Software libre (Open Source ¿es la Solución?, Revolution OS), aqui les dejo al señor RICHARD STALLMAN, entrevistado en una cadena Española, dando a conocer su punto de vista y filosofía  sobre el software libre, y el por que del nombre GNU/LINUX , y  asi es Stallman habla castellano 🙂

por ultimo algo que hay que hacer notar de las palabras de Stallman, “El conocimiento no tiene un precio, el conocimiento se comparte”, creo que  cuando en realidad todos logremos entender esto, el mundo cambiará 😀

septiembre 25, 2009

Agenda FX, proyecto Estructuras de Datos

por Josue Ortega
AGENDAFX
AGENDAFX

Muchas veces es difícil al principio de un proyecto implementar o abstraer lo que se nos esta pidiendo, creo que a la mayoría en el curso de Estructuras de Datos al principio andamos un poco perdidos de como empezar.

Los ejemplos visto en clase no son lo suficiente claros o muy sencillos, luego acudimos a la web para ver si podemos darnos una idea de como implementar lo que se nos pide, pero al final solo encontramos ejemplos sencillos o los mismos ejemplos en todas las paginas.

Por eso e decidido subir mis proyectos, al menos los que me queden bien jaja, para poder ayudar  a los que tienen este problema, y empiezo con mi proyecto de Estructuras de Dato.

Se nos pidió desarrollar una agenda web, con las siguientes funciones:

Calendario, cada día del año con una festividad y evento, Una lista de contactos, una libreta de apuntes, y gráficas de reporte.

Ahora vamos con lo emocionante, para implementar la parte de el calendario hice lo siguiente:

Voy a empezar con el nodo mas elemental, que era el nodo de eventos, este esta contenido en una lista doble enlazada ordenada por prioridad de evento. La lista de los eventos esta contenida en el nodo de día, este nodo de día esta contenido en una Matriz Ortogonal(en el proyecto es la clase melOrto.java) o Lista Ortogonal, es decir cada nodo tiene 4 punteros a otros nodos.Cada instancia de la Matriz Ortogonal conforma una lista doble enlazada que es con la que se maneja el año en curso.

Para almacenar los contactos utilice un árbol AVL, el cual tenía que desplegar sus contactos : InOrden, post-Orden, PreOrden.

También se despliegan los contactos en un grafo.

Para los apuntes no es mayor ciencia, una lista doble enlazada circular.

Para ingresar los eventos y contactos se puede hacer de 2 maneras:

Manual o cargando un archivo XML al servidor.

A continuacion les describo que herramientas use para hacer la agenda:

Sistema Operativo: GNU/Linux Debian Lenny 5.0.2
Tecnologia:JSP
Java: Java Enterprise Editition.
IDE: NetBeans 6.7.1
Servidor web: Glassfish v2.1
Parser XML: JDOM.
JAR  para enviar archivos al servidor: commons-fileupload-1.2.1, commons-io-1.4.

El enunciado se encuentra en la carpeta del proyecto, los JAR antes mencionados y el JDOM se encuentran en la carpeta “dist” donde encuentran un archivo con extensión “war” lo descomprimen , en la carpeta resultante pueden encontrar las librerías.

Cualquier duda o comentario de como implementar una estructura, no duden en preguntar en este blog, haré lo posible por contestar 😛

CLICK EN LA IMAGEN PARA DESCAGAR