Sunday, April 29, 2007

FESTIVAL LATINOAMERICANO DE INSTALACIÓN DE SOFTWARE LIBRE

El dia de ayer tuve la oportunidad de asistir al FLISOL 2007 realizado en la ciudad de Cuautla, donde hubo varias exposiciones, talleres y el install fest.
Tuve la oportunida de adquirir algunas distros entre las cuales esta: el mandriva, open suse, Fedora y Ubuntu para instalarlo en los diferentes equipos de mis amigos cercanos. Pudimos ver varios videos del pensamiento libre y asi mismo pudimos conocer el famoso cortometraje libre "Elephants Dream"realizado con Blender y sobre sistemas operativos libres. Asi mismo en el install fest, instalamos el open suse en la lap.
Aqui les dejo el cortometraje "Elephants Dream":



Friday, March 30, 2007

PROYECTO AUTENTICACIÓN PARA REDES INALAMBRICAS CON PROTOCOLO RADIUS

El dia de ayer 29 de Marzo comenzamos con la fase de instalación de los dispositivos y sistemas del proyecto de autenticación de redes con protocolo RADIUS, decidimos el Sistema Operativo Linux, especificamente la distribución de SUSE 10.1, para lo que sera el servidor de pruebas de nuestro proyecto. El proyecto se basa en la autenticación de usuarios con plataforma Windows en una red aislada, realizando peticiones a nuestro servidor (en Linux), por lo cual deben ser autenticados para poder accerder a la red. Espero esta semana instalar el servidor Free Radius para continuar con la instalación de los sistemas operativos Windows en las computadoras clientes del proyecto, asi tambien la configuración de los dispositivos de red e instalación de los medios alambricos e inalambricos.

Monday, March 26, 2007

Hasta la vista ICAM

El Sabado pasado se realizo el evento para los graduados del ciclo 2006-2007 en el Instituto de Computación Activa de México, despues de 1 año de haber terminado (eso pasa por no tramitar los papeles a tiempo), pude recibir mi certificado y diploma de la carrera de Operador de microcomputadoras.
Espero poder regresar posteriormente para algun diplomado o especialización.
jejeje XD bien guarura de politico.

Saturday, March 10, 2007

Presentación de carreras en la UTEZ

Con motivo de la presentación de las diversas carreras y del nuevo modulo de la pagina de la UTEZ (Calificaciones en linea), tuve la oportunidad de retribuirle un poco de todo lo que la universidad me ha otorgado participando como ponente en representación de la carrera de Tecnologias de la Información y Comunicaciones de la misma.
Es motivante ver a los profesores comprometidos con la carrera, abriendo nuevos horizontes para la comunidad morelense, dentro de presentación de la carrera de T.I.C. se hablo acerca del proyecto Cuernavaca ciudad digital, la institución como academia regional de SUN y CISCO, las ofertas de trabajo por parte de las diversas empresas, los programas de movilidad y las diversas certificaciones de peso internacional.
Asi mismo los directivos y alumno de las diversas carreras expusieron los logros de cada una de ellas.

Thursday, February 15, 2007

Entrega de Reconocimientos por parte de Ejecutivos CISCO a alumnos certificados


Hace 2 dias (13 de febrero 2007) se llevo a cabo en mi Universidad la entrega de reconocimientos por obtención de certificaciones CISCO, estoy muy contento por que me entregaron reconocimiento por la certificación INTRO CCNA espero en algunos meses mas completar el modulo 4 y posteriormente obtener la certificación ISDN. En la foto me encuentro a lado de la Gerente del Programa Cisco Networking Academy Veronica Tostado, tambien se encuentran varios ejecutivos CISCO, el Rector de mi Universidad,mi instructor, los directivos de las diferentes areas y mis compañeros certificados.
JAVA: Jerarquia Errores y Excepciones

Friday, February 09, 2007

JAVA: Array (Arreglos)

Los arreglos son estructuras de datos del mismo tipo.

Arreglos
int [] testScores; //declaración
testScores = new int [4] //construcción

Arreglos multidimencionales
int [][] rating = new int [3][]; //declaración y construcción
rating [0] = new int[2]; //ponemos otro arreglo en la posición 0 del arreglo

Declarar, construir e inicializar en una linea
int[] dots = {3,6,x,8}; //x debe ser un entero previamente declarado e inicializado
int [][]scores = {{5,2,4,7} , {9,2} , {3}};

Arreglo de objetos
Clase []cas = new Clase[3];
cas[0] = new Clase( );
Si la clase es una subclase que extiende de clase tambien se puede guardar en ese arreglo
ejemplo:
Car[ ]miscarros = {new Vocho( ), new Honda( ),new Ferrari( )};

Nota: Si el arreglo es declarado un tipo de interfaz, el arreglo de elementos puede referenciar a cualquier instancia de cualquier clase que implemente esa interfaz declarada.

Errores o Excepciones
NullPointerException .- cuando no existe la referencia a un objeto en el arreglo por lo cual el valor es null.
ArrayIndexoutofBounds Exception.- cuando tratas de accesar a una posición en un arreglo que no existe.

Monday, December 18, 2006

CISCO: Algoritmo Dijkstra
El algoritmo de Dijkstra es utilizado en los protocolos de enrutamiento interior (IGP), y mas especificamente en el OSPF ya que utiliza Shorted Path First (primero la ruta mas corta). Este algoritmo fue desarrollado por Edsger Dijkstra en 1959, su manera de funcionamiento es la siguiente: dado un vertice origen al resto de vertices en un grafo dirigido y con peso en cada arista, explora cada camino que parten del vertice origen y que llevan a todos los demás vertices, cuando se obtiene el camino mas corto de acuerdo al peso en cada arista el algoritmo se detiene obteniendo la ruta mas corta.
Para poder ver su funcionamiento de manera grafica ingresa a esta pagina:
http://www.alumnos.unican.es/uc900/AlgoritmoD1.htm
y espera a que se cargue el simulador.
JAVA : Estructura de Datos abstracta llamada Pilas LIFO(Last in First out)
La idea de las pilas es muy sencilla, simplemente el nuevo objeto que ingresa es referido por final y enlaza al anterior que ocupada ese espacio.
Nuestro objeto Dato tendra la variable sig de tipo Dato y la variable x de tipo int, aunque realmente no importa el valor de x ya que no lo ordenara.
Ahora bien aqui estan los metodos, recuerda que es necesario tener la clase Dato con sus respectivas variables y metodos get/set, y tambien la clase Test Pilas donde vamos a estar en interacción con el usuario.

public class Pilas {
private Dato finale;
private Dato aux;
public void insertar(Dato dat){//metodo insertar
if(finale==null){
finale=dat;

}else{
dat.sig=finale;
finale=dat;
}
}
public Dato eliminar(){//metodo eliminar
if(finale==null){
aux=null;
}else{
aux=finale;
finale=aux.sig;
}
return aux;
}
public String imprimir(){//metodo imprimir
String cad="";
Dato aux=null;
for(Dato p=finale;p!=null;aux=p,p=p.sig){
cad=cad+"\n"+p.getNum();
}
return cad;
}
}

JAVA : Estructura de Datos abstracta llamada Arbol. (Metodo Insertar y recorrido)
Los arboles son relativamente sencillos desde el punto de vista logico sin embargo todo comienza a ponerse interesante cuando pasas de los 15 valores. Nuestro objeto Dato debera contener un int x donde almacene el valor x (uh!), dos variables de tipo Dato( izq y der).
El funcionamiento del arbol es el siguiente: Este ingresa un objeto que tiene un valor x, ese valor x se posiciona en la variable raiz (que es tipo Dato ya que raiz hasta el momento era null) del arbol, posteriormente los demas objetos con valores x diferentes (mayores o menores) se iran acomodando de lado izq o der de nuestro objeto. (cada objeto tiene variable izq y der)
Los valores menores se iran a las variables izq y los valores mayores a la variable der.
Cada objeto a su vez tendra que realizar esta validación.Para insertar es necesario que nuestro metodo conozca si es mayor o menor, si es el primer objeto o si es uno de los ultimos de la rama.

Dato raiz;
public void insertar(Dato dat){
if(raiz==null){
raiz=dat;
}else{
for(Dato p=raiz;p!=null;){
if(dat.getNum()
if(p.izq==null){
p.izq=dat;
break;
}else
p=p.izq;
}else{
if(p.der==null){
p.der=dat;
break;
}else
p=p.der;
}
}
}
}

Cabe mencionar que estamos suponiendo que este metodo esta siendo insertado dentro de la clase(por eso que la variable raiz de tipo Dato la creamos fuera).
El metodo a su vez para eliminar tiene sus dificultades ya que si una rama contiene valores en sus variables izq o derecha esos valores no se pueden perder, sino que tienen que pasar a la rama anterior (el valor mayor) y el menor acomodarse en la rama izq libre del objeto anterior, asi mismo cuando deseamos eliminar el numero que esta en el objeto raiz.
Proximamente publicare el metodo eliminar, por lo mientras aqui esta el metodo recorrido, o impresion de los valores del arbol, este metodo utiliza la recursividad.

public void recorrido(Dato p){
if(p!=null){
recorrido(p.izq);
System.out.println(p.getNum());
recorrido(p.der);
}
}

Monday, December 11, 2006

CCNA Intro
Señores despues de un camino arduo de repasos jejeje y de estudio puedo decir satisfecho que he logrado la certificación Intro del CCNA, me encuentro muy contento ya que esta certificación es de una de las especialidades que me encantan: las redes CISCO.
Tambien quiero felicitar a mis amigos Humberto y Monic que lograron la certificación CCNA con promedios altisimos.
Espero en 6 meses presentar la proxima certificación, y posterior a eso... ya veremos =).

Friday, November 24, 2006

JAVA: Estructura de Datos Abstracta llamada Cola
FIFO (First In, First Out)

La logica de este algoritmo es sencilla, comenzamos explicando la idea de lo que es una cola: cuando un objeto llega se le asigna la posiciòn inicio, los objetos siguentes en llegar (crearse), se asignaran al final de la cola y el primer objeto (inicio) referenciara a su vez al ultimo, o a el mismo, si solo existe el en la cola, de esta manera conforme llegan se van agregando a la cola.

Nuestra clase Dato cuenta con los siguientes atributos:
Dato sig e int x, sig de tipo Dato ya que guardara las referencias de los objetos de ese tipo e int de tipo entero por que almacenara el valor que insertemos a x. Basicamente con esto se construye la clase (metodos set y get de x) aunque se le pueden aumentar muchas mas cosas y ser utilizado de diversas maneras.
Para poder manejar el insertado de objetos de tipo Dato como sigue:

class ManejoDato{
Dato inicio;
public void insertar (Dato dat){
if(inicio==null){
inicio= dat;
dat.sig= dat;
}else{
dat.sig = inicio.sig;
inicio.sig = dat;
}
}
public boolean eliminar(){
if(inicio !=null){
Dato p = inicio.sig;
if(p==inicio){
inicio=null;
}else{
for(p=inicio; p.sig!=inicio;p=p.sig);
p.sig=inicio.sig;
inicio=p;
}
return true;
}else{
return false;
}
}
}

Wednesday, November 01, 2006

Algunos URL´s curiosos de Google

- Google tiene registrados los dominios www.gogle.com, www.googel.com, www.ggoogle.com y www.gogole.com, por si el usuario se equivoca al teclear el acceso a su buscador.

- El día 1 de abril de 2002 (April Fool's day), Google dio a conocer el PigeonRank (TM), el sistema que realmente clasifica las webs: miles de palomas trabajan ordenando todas los sitios web de Internet.

- En el Zeitgeist ((http://www.google.com/intl/en/press/intl-zeitgeist.html)) de Google se encuentran las estadísticas: las palabras más buscadas de la semana en diferentes idiomas, los navegadores más utilizados, ... Además, tiene un archivo histórico.

- El servidor espejo de Google: http://elgoog.rb-hosting.de/index.cgi

El buscador especifico:

BSD

Gobierno de USA

Linux

MAC

Microsoft

Universidades

Salut!

Wednesday, October 18, 2006

Pensando como la computadora

Puede que hables mas de 5 idiomas pero el que domina al mundo es solo 1 (00111101101101101101110110101101101011)

Monday, October 09, 2006

JAVA: Metodo de Inserción en 2 capas

La primer clase contiene nuestro modelo de negocios:

class Insercion{
private static int a[] ={5,3,2,4,1};
private int x=0,k=0, aux;
public void insercion1(){
for(int i=1;i aux = a[i];
k=i-1;
while (k>=0 && aux a[k+1]=a[k];
k--;
}
a[k+1]=aux;
}
}
public
String getver(){
return (a[0]+" "+a[1]+" "+a[2]+" "+a[3]+" "+a[4]+" ");
}
}

Interfaz:

class TestInsercion{
public static void main (String args[]){
Insercion obj=new Insercion();
System.out.println(obj.getver());
obj.insercion1();
System.out.println(obj.getver());
System.out.println("Finalizando programa... ");
}
}

Estas clases cambia la posición de los valores de nuestro arreglo y los ordena, try it!!! Utilizando el logaritmo de inserción.

Saturday, October 07, 2006

Creación de B.D. y tablas en MYSQL

Esta es la sintaxis para crear una base de datos en MYSQL =)
Vamos a crear una base d datos llamada ALMACEN y dentro la tabla Productos que contiene las columnas de NombreProd, Descripción, Costo, peso y material.

create database ALMACEN;
create table Productos(
Clave int,
NombreProd varchar(30),
Descrip varchar (50),
Costo int,
peso int default 0,
Material varchar (25),
Primary key (Clave));

Para poder ingresar datos a nuestra tabla se deben de poner la instruccion insert into el_nombrede_nuestra_tabla (las diversas columnas en orden)
values ( los valores de cada columna, si es String dentro ' ' si es int no se coloca nada especial, recuerda poner las comas entre cada uno de los valores.

insert into Productos(Clave, NombreProd, Descrip, Costo,peso,Material)
values (101,'Clavo de concreto','Usado para fijar en cemento', 10, 10,'Acero');

Thursday, October 05, 2006

Saludos a todos los informaticos y visitantes a este mi pequeño espacio en la red, referente a mi carrera Tecnologias de la Informacion y Comunicacion, estare publicando algunos datos curiosos, codigo de utilidad para diversos lenguajes o aplicaciones, asi como tambien ligas de interes sobre el tema.
Debo agradecer en primera instancia al buen Gera ya que su blog me inspiro para crear este espacio.
Espero poder tener temas de interes y si desean algun codigo o cualquier cosa lo pueden pedir directamente en el chat o desde los comentarios de los articulos y en breve espero poder resolverlo ;P .