viernes, 10 de agosto de 2007
miércoles, 8 de agosto de 2007
Día Martes en el Intercon2007
Hoy he podido participar del tutorial "Redes Convergentes inalámbricas: Voice + Data", ha estado muy bueno aunque no fué práctico, pero el conocer la diferentes opciones que existen para configurar redes inalámbricas y aspectos como seguridad, administración, funcionamiento de voz sobre IP y muchas otras cosas más, han sido muy iznteresante.
(pronto las pondré algunas de estas fotos en un blog adecuado para esto).
(pronto las pondré algunas de estas fotos en un blog adecuado para esto).
martes, 31 de julio de 2007
Aprendiendo Ensamblador con Software Libre
Actualmente estoy intentando usar Software Libre en todas mis clases, como un intento de avanzar con la revolución que apoyamos los amantes del SL, aquí les va mi experiencia con ensamblador:
Este semestre me tocó ser profesor de la unidad de Ensamblador en la Universidad. Al principio pensaba usar MacroAssembler de Micro$oft para mis clases, como el resto de mis compañaros, pero al final después de buscar un ensamblador libre me topé con NASM (NetWide Assembler) en la version 0.98.39, realmente fue una buena opción, me sentí más cómodo que trabajando con el MASM aunque por su puesto encontré algunas complicaciones como en las macros y procedimientos, pero después de todo nada se compara con la 'LIBERTAD', es decir sentir que estás haciendo las cosas legalmente.
Al inicio pensé que sólo era bueno para Linux, pero después de 'surfear' y de 'dolores de muela' al fín pude empezar a trabajar en DOS.
Trabajamos en DOS por ahora, pero aspiro al siguiente módulo (si Dios quiere) hacerlo ya sobre Linux.
Otra de las gratas sorpresas que tuve fue cuando encontré que Jeff Duntemanns usaba también en su libro "Assembly Language Step by Step" las herramientas que yo había seleccionado.
Aquí lo que usé para mis clases:
NASMIDE 1.8: Un ide para NASM en DOS, parecido a mi recordado Turbo Pascal.
http://home.comcast.net/~fbkotler/nasmide.zip
NASM 0.98.39: El Ensamblador más comodo para programar en Linux y DOS
http://sourceforge.net/projects/nasm
ALINK 1.6: Un linker o enlazador libre
http://alink.sourceforge.net
Este semestre me tocó ser profesor de la unidad de Ensamblador en la Universidad. Al principio pensaba usar MacroAssembler de Micro$oft para mis clases, como el resto de mis compañaros, pero al final después de buscar un ensamblador libre me topé con NASM (NetWide Assembler) en la version 0.98.39, realmente fue una buena opción, me sentí más cómodo que trabajando con el MASM aunque por su puesto encontré algunas complicaciones como en las macros y procedimientos, pero después de todo nada se compara con la 'LIBERTAD', es decir sentir que estás haciendo las cosas legalmente.
Al inicio pensé que sólo era bueno para Linux, pero después de 'surfear' y de 'dolores de muela' al fín pude empezar a trabajar en DOS.
Trabajamos en DOS por ahora, pero aspiro al siguiente módulo (si Dios quiere) hacerlo ya sobre Linux.
Otra de las gratas sorpresas que tuve fue cuando encontré que Jeff Duntemanns usaba también en su libro "Assembly Language Step by Step" las herramientas que yo había seleccionado.
Aquí lo que usé para mis clases:
NASMIDE 1.8: Un ide para NASM en DOS, parecido a mi recordado Turbo Pascal.
http://home.comcast.net/~fbkotler/nasmide.zip
NASM 0.98.39: El Ensamblador más comodo para programar en Linux y DOS
http://sourceforge.net/projects/nasm
ALINK 1.6: Un linker o enlazador libre
http://alink.sourceforge.net
viernes, 20 de julio de 2007
Ultima Tarea
PRIMERA PARTE: Cree un programa llamado 'Keboard' en donde realice lo siguiente:
SEGUNDA PARTE: Cree en su clase 'ListaEmpleados' un método llamado grabarDatos(): void que realice lo siguiente:
- Cree un objeto Scanner llamado 'scn' utilizando la sentencia:
Scanner scn = new Scanner(System.in); - Añada además a esta sentencia un comentario que indique que constructor de la clase Scanner está utilizando. y Desde donde se van a leer los tokens.
- Cree una
para almacenar objetos de tipo 'Person' (la clase creada en la tarea anterior) - Dentro de un ciclo repetitivo pida al usuario que ingrese cada uno de los datos necesarios para construir un objeto 'Person' y luego añadirlo a su
lista. - El ciclo repetivo debería ejecutarse hasta que el usuario decida no ingreasr más datos.
- Finalmente presente su lista
con todos sus elementos.
OJO: La ejecución del programa debe realizarla desde una consola de DOS (símbolo del sistema) para que sea satisfactoria y no desde eclipse.
SEGUNDA PARTE: Cree en su clase 'ListaEmpleados' un método llamado grabarDatos(): void que realice lo siguiente:
- Cree un flujo (stream) de SALIDA hacia cada uno de los archivos de texto: 'asalariados.txt', 'porhoras.txt' o 'porcomision.txt'
- Busque las Clases de Stream adecuadas para escribir datos de manera sencilla a través de los métodos conocidos print, println o printf y construya los objetos necesarios para conectar a los stream que referencian a los archivos de texto mensionados.
- Dentro de un ciclo repetitivo escriba los valores de todas las propidades (estado) de todos los objetos 'Empleado' contenidos en el atributo 'lista' de su clase ListaEmpleados.
OJO: Antes de escribir los datos necesita usar el operador 'instanceof' (Que debe ser investigado por Ud) para determinar a que archivo de enviar los datos. - Tenga en cuenta los separadores entre datos que debe usar al escribir en los archivos, para una adecuada lectura posterior.
- Pruebe el funcionamiento del método desde una clase cualquiera.
*** SUERTE EN EL EXAMEN CHICOS ***
/\/\;/
/\/\;/
miércoles, 18 de julio de 2007
SOLUCION A PROBLEMAS DE LA TAREA
Animo chicos, tranquilos que tiene solución, aquí van algunas pautas:
FileNotFoundException: El (los) archivo(s) .TXT tienen
que ubicarlos en la carpeta de su proyecto, no en 'src' ni en 'bin'.
Ojo con el . (punto decimal) en los 'Doubles', depende de la configuración de su Window$
si tienen problemas tienen que usar la , (coma).
Cada archivo de texto tiene que tener ubicados los datos correactamente
para que el scanner los pueda tomar sin problemas.
PDTA: Espero que tengan listas las exposiciones para maniana.
FileNotFoundException: El (los) archivo(s) .TXT tienen
que ubicarlos en la carpeta de su proyecto, no en 'src' ni en 'bin'.
Ojo con el . (punto decimal) en los 'Doubles', depende de la configuración de su Window$
si tienen problemas tienen que usar la , (coma).
Cada archivo de texto tiene que tener ubicados los datos correactamente
para que el scanner los pueda tomar sin problemas.
PDTA: Espero que tengan listas las exposiciones para maniana.
lunes, 16 de julio de 2007
Uso de la Clase Scanner
PRIMERO: Cree un proyecto denominado ArchivosConScanner, en el mismo codifique las siguientes clases:
/******************************
* File Name: TestFile.java *
* Class Name: TestFile *
* (c) Milton Labanda *
*******************************/
import java.util.Scanner;
import java.io.File;
/**
* Clase que lee datos del Archivo de texto 'persons.txt'
* y crea objetos 'Person' para luego presentarlos como tal
*/
public class TestFiles{
public static void main(String [] args){
File file = new File("persons.txt");
Scanner scanner = null;
try{
scanner = new Scanner(file);
}catch(java.io.FileNotFoundException ex){
System.out.printf("%s",ex);
}
while (scanner.hasNext()){
String id = scanner.next();
String name = scanner.next();
Integer age = scanner.nextInt();
Double weight = scanner.nextDouble();
Person person = new Person(id,name,age,weight);
System.out.printf("%s",person);
}
System.out.printf("%n");
}
}
/********************************
* File Name: Person.java *
* Class Name: Person *
* (c) Milton Labanda *
*********************************/
/**
* Encapsula los datos de una Persona
*/
class Person{
private String id; //codigo
private String name; //nombre
private Integer age; //edad
private Double weight; //peso
public Person(){
}
public Person(String id, String name, Integer age, Double weight){
this.id = id;
this.name = name;
this.age = age;
this.weight = weight;
}
public String toString(){
return String.format(" ID\t: %10s %n" +
"name\t: %10s %n" +
"age\t: %10d %n" +
"weight\t: %10.3f" +
"%n%n",id,name,age,weight);
}
}
SEGUNDO: Cree el archivo de texto 'persons.txt' en el mismo directorio que se creó 'TestFiles.java'
con el siguiente contenido (utilice eclipse o bloc de notas):
1224 Juan 25 60.79
1456 Sara 23 65.789
3456 Carlos 12 50.8
NOTA: los datos están separados con tabuladores
TERCERO: Ejecute la clase TestFiles y Conteste las siguientes preguntas :
1. Que constructor de Scanner está usando?
2. Por qué se maneja la excepción FileNotFoundException?
3. Qué hace el método nextInt() y nextDouble()?
4. Cual és el resultado si los datos de las personas en el
archivo están en una sola línea?
5. Qué sucede si los datos de una persona en el archivo
no se separan con tabulador o espacio?
T A R E A:
Tomando como referencia el ejemplo desarrollado cree un método denominado 'cargarDatos():void' en
su clase 'ListaEmpleados' del proyecto 'Rol de Pagos', el cuál permita leer datos desde un 3 archivos diferentes dnominados 'asalariados.txt', 'porhoras.txt' y 'porcomision.txt', a partir de los cuales cree los objetos 'Empleado' paral luego agregarlos a 'lista'.
NOTA: Cualquier duda o pregunta puede realizarla a través de un comentario sobre esta entrada.*/
/******************************
* File Name: TestFile.java *
* Class Name: TestFile *
* (c) Milton Labanda *
*******************************/
import java.util.Scanner;
import java.io.File;
/**
* Clase que lee datos del Archivo de texto 'persons.txt'
* y crea objetos 'Person' para luego presentarlos como tal
*/
public class TestFiles{
public static void main(String [] args){
File file = new File("persons.txt");
Scanner scanner = null;
try{
scanner = new Scanner(file);
}catch(java.io.FileNotFoundException ex){
System.out.printf("%s",ex);
}
while (scanner.hasNext()){
String id = scanner.next();
String name = scanner.next();
Integer age = scanner.nextInt();
Double weight = scanner.nextDouble();
Person person = new Person(id,name,age,weight);
System.out.printf("%s",person);
}
System.out.printf("%n");
}
}
/********************************
* File Name: Person.java *
* Class Name: Person *
* (c) Milton Labanda *
*********************************/
/**
* Encapsula los datos de una Persona
*/
class Person{
private String id; //codigo
private String name; //nombre
private Integer age; //edad
private Double weight; //peso
public Person(){
}
public Person(String id, String name, Integer age, Double weight){
this.id = id;
this.name = name;
this.age = age;
this.weight = weight;
}
public String toString(){
return String.format(" ID\t: %10s %n" +
"name\t: %10s %n" +
"age\t: %10d %n" +
"weight\t: %10.3f" +
"%n%n",id,name,age,weight);
}
}
SEGUNDO: Cree el archivo de texto 'persons.txt' en el mismo directorio que se creó 'TestFiles.java'
con el siguiente contenido (utilice eclipse o bloc de notas):
1224 Juan 25 60.79
1456 Sara 23 65.789
3456 Carlos 12 50.8
NOTA: los datos están separados con tabuladores
TERCERO: Ejecute la clase TestFiles y Conteste las siguientes preguntas :
1. Que constructor de Scanner está usando?
2. Por qué se maneja la excepción FileNotFoundException?
3. Qué hace el método nextInt() y nextDouble()?
4. Cual és el resultado si los datos de las personas en el
archivo están en una sola línea?
5. Qué sucede si los datos de una persona en el archivo
no se separan con tabulador o espacio?
T A R E A:
Tomando como referencia el ejemplo desarrollado cree un método denominado 'cargarDatos():void' en
su clase 'ListaEmpleados' del proyecto 'Rol de Pagos', el cuál permita leer datos desde un 3 archivos diferentes dnominados 'asalariados.txt', 'porhoras.txt' y 'porcomision.txt', a partir de los cuales cree los objetos 'Empleado' paral luego agregarlos a 'lista'.
NOTA: Cualquier duda o pregunta puede realizarla a través de un comentario sobre esta entrada.*/
martes, 10 de abril de 2007
Al fin llega Debian/GNU Linux 4.0
Después de una larga espera y como regalo de Pascua de Resurrección
a parecido mi tan esperada version de Debian/GNU Linux 4.0.
Según Distrowatch.com el día del lanzamiento fue el Domingo de
Pascua 04 de abril del 2007. Estoy a la espera de descargalo y probarlo
pero pienso que va a estar buenísimo.
a parecido mi tan esperada version de Debian/GNU Linux 4.0.
Según Distrowatch.com el día del lanzamiento fue el Domingo de
Pascua 04 de abril del 2007. Estoy a la espera de descargalo y probarlo
pero pienso que va a estar buenísimo.
Si quieres descargarlo
En: http://www.us.debian.org/releases/stable/debian-installer/ encontrarás muchísimos formatos a tu gusto (CD, DVD, imagenes para flash memories, floppy, etc). Disfrútalo
Suscribirse a:
Entradas (Atom)