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

viernes, 21 de agosto de 2009

Legislacion anti-spam en Guatermala

A propósito de haber recibido 4 correos electrónicos con la misma información, en mis dos direcciones personales, sin haberla solicitado y por medios incorrectos.
Como muchos, yo creía que no había ninguna ley en el país que regulara el spam o correo electrónico no deseado, pero SI existe.
En el artículo 51 del decreto 47-2008 del congreso de la república de Guatemala dice literalmente:
"Las empresas deben desarrollar e implementar procedimientos efectivos y fáciles de usar, que permitan a los consumidores manifestar su decisión de recibir o rehusar mensajes comerciales no solicitados por medio del correo electrónico. Cuando los consumidores manifiesten que no desean recibir mensajes comerciales por correos electrónicos, tal decisión debe ser respetada"

Esta sencillo lo que dice, pero si se interpreta bien y se cumple todo lo que implica, es suficiente.
Por ejemplo, no sería correcto utilizar una lista de distribución con un objetivo bien definido, para distribuir información fuera de ese objetivo, porque entonces aunque exista el mecanismo para excluirnos de la lista (como claramente lo exige la ley) estaríamos obligados a quedarnos dentro, debido a que nos interesa la información relacionada con el objetivo verdadero y correcto de tal lista de distribución.

miércoles, 10 de junio de 2009

Algunos indices en Oracle

B-Tree Index
Este es el tipo de índices normal de Oracle, estos índices son los que más se utilizan, están organizados en una estructura de árbol B y por lo general se utilizan para las llaves primarias de manera que se pueda hacer una búsqueda por llave más rápido.

Index Organized Tables
Este es un tipo de índice que nació con la versión 8 de Oracle y se utiliza por lo general para aplicaciones Web debido a que por lo general estas aplicaciones hacen búsquedas de un solo campo por medio de la llave primaria.
Una IOT se define desde su creación, agregando ORGANIZATION INDEX al final de la sentencia CREATE TABLE, y lo que hace es que los datos de la tabla se van guardando dentro del índice, entonces cuando uno hace un SELECT los datos salen ordenados.

Bitmap Index
Los índices de bitmap son muy recomendables en columnas en las cuales los valores ser repiten y representan una división en categorías, por ejemplo columnas como género, estado civil, etc. También son muy recomendables cuando no cambian mucho, aunque sean muy variantes.

Bitmap Join Index
Este tipo de índice, es muy útil en tablas que están relacionadas y hay muchas consultas que hacen Join de estas tablas, al igual que el bitmap index normal, solo se recomienda cuando la cardinalidad de los valores de la columna no es muy grande.
Aparte este tipo de índice, solamente se recomienda en Data Warehose porque son muy rápidos haciendo joins y devuelven los resultados en muy poco tiempo, por el contrario al hacer inserts y updates, tienen consecuencias en el rendimiento.

Domain Index
Estos índices se utilizan para un dominio especializado, se utiliza mucho con dominios de texto o imágenes, ya que en estos índices se utilizan los indextype donde se puede especificar la implementación.

Cluster Index
Este índice consiste en unas tablas que comparten los mismos bloques de datos, utilizan un valor llamado clúster key value que es el valor de las columnas involucradas para una fila en específico.
E clúster key sirve para guardar juntas las filas que tengan el mismo valor y solo guarda una vez cada valor distinto.

Hash Cluster Index
Este índice es muy parecido al anterior, pero se aplica una función de hash al cluster key para poder encontrar las demás filas con el mismo cluster key.

Partitioned tables
Cuando las tablas crecen mucho, acceder a ellas puede significar un bajo rendimiento, por eso surge el concepto de tablas particionadas que es dividir las tablas en partes independientes, se le puede sacar backup independientemente, el rendimiento de las consultas puede aumentar significativamente, y se pueden hacer transacciones paralelas en particiones diferentes.
Es común que las diferentes particiones, se coloquen en un tablespace diferente para optimizar aun más el rendimiento.

Function Based Index
Este tipo de índice es muy sencillo pero muy útil y puede llegar a mejorar los tiempos de respuesta increíblemente. Este índice no es más que un índice B-Tree pero sobre una función, por ejemplo para las consultas dadas para este proyecto se utiliza mucho la función upper entonces cree un índice B-Tree sobre la función upper del campo nombre, entonces en índice están los datos ya con la función upper aplicada.

Patitioned Index
Este es un índice para el cual se definen particiones, exactamente igual que cuando se particiona una tabla, esto se hace con el objetivo de mejorar el tiempo de acceso a los datos cuando el índice es demasiado grande.

domingo, 5 de octubre de 2008

COECYS 2008

Como todos los años la escuela de ciencias y sistemas de la Facultad de Ingeniería organiza el congreso de estudiantes de ciencias y sistemas COECYS, este año el tema estuvo muy interesante, fue: Calidad en el desarrollo y administración de sistemas informáticos.

Asistí a muchas conferencias pero las que me parecieron interesantes y aplicables al comercio electrónico fueron:

ITIL
Seguridad Informática
Minería de datos
Arquitecturas Web

miércoles, 24 de septiembre de 2008

LanGuard

LanGuard es una utilidad que nos permite escanear nuestra red para buscar vulnerabilidades y problemas. Es muy util para administrar bien nuestra red protegiendola de todo esto.
Esta herramienta nos puede servir mucho y para los usuarios de GNU/Linux como yo, existe una alternativa llamada nessus.
Yo realice un escaneo para comprobar la seguridad de mi computadora y estos fueron los resultados:
=======================================================================
STARTING SECURITY SCAN FOR MACHINE/RANGE: 127.0.0.1
Profile: Default
=======================================================================
Validating targets...
Building computers list...
Resolving hosts...
Determining computers that are alive...
Netbios reply from 192.168.1.5 (COMPUTINA)
SNMP response from 192.168.1.5
Requesting more info...
Pong from 192.168.1.5
1 Computer(s) found.
=======================================================================
COMPLETED SECURITY SCAN FOR MACHINE/RANGE: 127.0.0.1
Scan Start Time: 10:58:36 p.m.
Scan Duration: 2 minutes, 59 seconds
=======================================================================



Enfoquemonos en las vulnerabilidades, me encontro 9 vulnerabilidades, 5 de bajo riesgo, 2 de riesgo medio y 2 de alto riesgo.
De las 2 de alto riesgo una es que hace falta una actualizacion de Microsoft Outlook y la otra es que debería colocarle password a la cuenta Administrator.
La desactualización de outlook no se a que se debe si tengo las actualizaciones automáticas activadas y lo de la contraseña de Administrator ya lo resolví.
Las demas vulnerabilidades la verdad yo considero que no lo son algunas son porque tengo carpetas compartidas en la red, otras por servicios a los cuales se les han detectado muchos bugs entonces no son vulnerabilidades muy criticas.

Escaneo de guatecompras.gt con Acunetix

Como tarea en el curso de Seminario de Sistemas 1 nos dejaron escanear las vulnerabilidades de algún sitio web del país, así que decidí escanear guatecompras.net porque es un sitio de mucha importancia en la política del país y el valor de la información que maneja es altísimo.

Realice el escaneo con el software Acunetix Web Vulnerability Scanner, estos son los pasos que seguí para configurar el escaneo.

Acunetix, es una aplicación que nos ayuda a verificar si nuestro sitio es vulnerable ante cualquier tipo de ataque por ejemplo Inyección SQL, XCC, etc.

Lo primero es elegir es tipo de escaneo que se desea realizar, yo elegí scan single website



En la siguiente pantalla del asistente hay que esperar un rato a que detecte la información del servidor, después podemos elegir optimizar el escaneo a algunas tecnologías, para este caso yo elegí optimizar para asp.net y asp porque en estas tecnologías esta basado el sitio de guatecompras



Luego en las opciones de escaneo deje las opciones por defecto.



Después esta la pantalla de información de login por si es necesario iniciar sesión en el sitio para realizar el escaneo, esta opción desde luego no la utilice yo.



Por ultimo nos muestra un resumen



Y empieza el escaneo



Se tardo mucho en realizar el escaneo pero después de esperar tanto estos fueron los resultados:



Como podemos observar en los resultados el sitio guatecompras.gt esta lleno de vulnerabilidades de alto riesgo.

Los ataques que podrían realizarse a esta pagina son de Inyección SQL y XSS. Miremos que lo mas fácil seria con XSS ya que tiene 142 vulnerabilidades de este tipo.

El ataque Inyección SQL consiste en modificar las consultas ingresando nuevas partes de la consulta en los campos donde se ingresan los parámetros de esta.

El ataque XSS consiste en enviar un script malicioso a la página, ocultándolo entre solicitudes legítimas.

domingo, 10 de agosto de 2008

Modelo TCP/IP y sus protocolos

El modelo TCP/IP tiene 4 capas en forma jerárquica, cada capa se construye sobre la anterior. Estos son los protocolos de cada capa:

Numero de Capa

Nombre

Protocolos

Capa 1

Aplicacion

HTTP, HTTPS, FTP, DNS

Capa 2

Transporte

TCP, UDP, RTP, SCTP

Capa 3

Internet

IP

Capa 4

Acceso al medio

Ethernet, Token Ring, PPP



Capa de Aplicación
Es el nivel mas alto maneja la comunicación entre los programas.

Capa de Transporte
Se encarga de que los datos lleguen en el orden correcto y a la aplicación a la que van destinados.

Capa de Internet
Se encarga del intercambio de datos en la res.

Acceso al medio
Se encarga del transporte de los paquetes sobre el medio físico.

viernes, 1 de agosto de 2008

E-commerce en Guatemala

En Guatemala existen muchos ejemplos de comercio electrónico, algunos propiamente del país y otros que trabajan en la región centroamericana.

Estos son algunos ejemplos:

Izimarket
Sitio de compras por Internet que funciona en Guatemala, Honduras, El Salvador, Nicaragua, Costa Rica y Panamá. Es servicio es totalmente gratis.
http://izimarket.com/

Gubiz
Sitio de venta y compra a través de Internet que funciona en Guatemala, El Salvador y Republica Dominicana. Inició solo en Guatemala. Cobran el 10% de la venta.
http://www.gubiz.com/

GP Autos
Sitio de compra y venta de automóviles, repuestos, accesorios y servicios, funciona únicamente en Guatemala. El costo es de Q. 100.00 por un anuncio durante tres meses.
http://www.gpautos.net/

Mi super
Servicio para comprar en línea los productos de Paiz, Hiper Paiz. Esta disponible en Guatemala, El Salvador y Honduras.
http://www.misuper.com/

Todoticket
Sitio que promociona y vende entradas en línea para todo tipo de eventos.
http://www.todoticket.com/

Quick Photo on-line
Servicio de Quick Photo disponible para Guatemala, El Salvador, Honduras, Nicaragua, Costa Rica y Ecuador. Se pueden imprimir fotos digitales y también se pueden comprar los productos que ofrecen en las tiendas.
http://quickphotoonline.com/

jueves, 31 de julio de 2008

Lo mas vendido en e-commerce

¿Qué es e-commerce?
Es la compra y venta de bienes y servicios a través internet o algún otro medio electrónico.

¿Qué es lo mas vendido en e-commerce?
Casi cualquier cosa puede venderse en internet ya sea bienes o servicios pero siempre hay algunas cosas que tienen mayor popularidad.
Los mismos sitios de compras por internet, tienen su propia lista de productos mas vendidos, en estas listas o rankings podemos darnos cuenta de que lo mas vendido son artículos de tecnología o electrónicos, después artículos de moda como ropa zapatos y accesorios y después libros y CDs de música.

Estos son los ranking de lo mas vendido en algunos sitios de compras por internet.

Lo mas vendido en amazon

Lo mas vendido en mercado libre Argentina


Lo mas vendido en mercado libre Mexico

miércoles, 30 de julio de 2008

Feeds Atom y RSS

Primero que todo tenemos que tener claro que es un Feed.
Un feed es un formato de datos con el objetivo de informar sobre la actualización en un sitio web, generalmente se usa lenguaje XML y es muy común en los blogs.
La forma de funcionar de un feed es que los lectores se suscriben por medio de un agregador o lector de feeds y a través de este son notificados cuando existe nuevo contenido en el blog.
Gracias a los agregadores o lectores de feeds se puede obtener resúmenes de todos los sitios que se desee y no es necesario visitarlos todos.

Atom
Es uno de los formatos para feeds, esta basado en XML. Fue desarrollado como una alternativa a RSS.

RSS
Really Simple Syndication o Sindicación Realmente Simple
Es el formato mas utilizado para feeds, también esta basado en XML con las especificaciones del W3C.

Tanto los archivos Atom como RSS se reescriben automáticamente cuando se produce alguna actualización en los contenidos del sitio web.

Actualmente todos los navegadores y lectores de feeds soportan ambos formatos.

Este es un video donde se explica muy bien como se usa esto y que ventajas tiene.

domingo, 13 de enero de 2008

Que es el PMBOK?

Project Management Body of Knowledge, es un estándar en la gestión de proyectos desarrollado por el PMI, reconocido internacionalmente (IEEE Std 1490-2003) que provee los fundamentos de la gestión de proyectos que son aplicables a un amplio rango de proyectos, incluyendo construcción, software, ingeniería, etc.

El PMBOK reconoce 5 procesos básicos y 9 áreas de conocimiento. Los cinco grupos de procesos básicos son:

1. Inicio,
2. Planificación,
3. Ejecución,
4. Control y Monitoreo, y
5. Cierre.

Las nueve áreas del conocimiento mencionadas en el PMBOK son:

1. Gestión de la Integración de Proyectos,
2. Gestión del Alcance en Proyectos,
3. Gestión del Tiempo en Proyectos,
4. Gestión de la Calidad en Proyectos,
5. Gestión de Costos en Proyectos,
6. Gestión del Riesgo en Proyectos,
7. Gestión de Recursos Humanos en Proyectos,
8. Gestión de la Comunicación en Proyectos, y
9. Gestión de la Procura (Logística) en Proyectos.

Podemos descargar la version en español en HACKERUNA

Software libre para gestion de proyectos

Los que conocen este blog saben que principalmente es sobre software libre así que me pareció muy buena idea poner esta lista de software libre para gestión de proyectos que recopilaron en la oficina de gestión de proyectos:

Blogs de interes en gestion de proyectos


Visto en: Oficina de Gestión de Proyectos

Todo lo necesario para sacar tu proyecto adelante

Este es el video de una conferencia que dictó Angel Maria fundador de Bubok, donde habla principalmente de 7 pasos necesarios para sacar un proyecto adelante, dejo el video aquí porque me pareció muy interesante y valioso.

Areas de gestion de un proyecto

– Gestión de la Integración: asegurar que los diversos elementos del proyecto están adecuadamente coordinados.
– Gestión del Alcance: asegurar que el proyecto incluye todos los trabajos requeridos y sólo éstos.
– Gestión de los Tiempos: asegurar la realización del proyecto dentro de los plazos.
– Gestión de los Costes: asegurar que el proyecto es completado dentro del presupuesto previsto.
– Gestión de la Calidad: asegurar que el proyecto satisface los requisitos, es decir, las necesidades por las cuales fue emprendido.
– Gestión de los Recursos Humanos: conseguir el uso más efectivo de las personas que participan en el proyecto.
– Gestión de las Comunicaciones: asegurar en tiempo y forma adecuados la generación, recopilación, diseminación, almacenamiento y localización final de la información del proyecto.
– Gestión de Riesgos: identificar, analizar y dar respuesta a los riesgos del proyecto; maximizar la probabilidad y consecuencias de eventos positivos y minimizar las de eventos negativos.
– Gestión de Adquisiciones: adquirir productos (bienes y/o servicios) de fuera de la organización que realiza el proyecto.

jueves, 10 de enero de 2008

Eligiendo un buen equipo de proyecto

1. Clarificar el objetivo de trabajo: debemos tener muy claro un objetivo de trabajo común que será el que dará sentido al equipo como tal y guiará todas las funciones y tareas.
2. Definir los perfiles profesionales: es necesario definir los perfiles profesionales que se necesitan para llevar a cabo el proyecto. Los perfiles profesionales deben combinarse para que permitan realizar tareas en grupo de cierta complejidad.
3. Seleccionar el personal: a la hora de formar un equipo, el coordinador del proyecto seleccionará a las personas teniendo en cuenta los diferentes perfiles profesionales necesarios y la disponibilidad de dichas personas en la organización. Este proceso nos lleva a un concepto clave en la nueva organización de la empresa: la gestión por competencias. Competencias son el conjunto de habilidades, cualidades y aptitudes que tienen las personas y que les predisponen a realizar una serie de actividades con un buen nivel de desempeño.
4. Distribuir las tareas: la distribución de tareas se hará en función de las competencias propias de cada individuo. Se debe conocer a fondo qué tipo de competencias está presente en cada uno de los miembros del equipo de manera que pueda gestionarse de la mejor forma la contribución personal al proyecto del equipo.
5. Identificarse con el proyecto: la identificación de cada miembro con el proyecto de equipo debe ser un proceso que se inicie desde el primer momento. La clave del éxito está en conseguir un equipo humano que se sienta orgulloso de pertenecer a la organización.
6. Empezar a trabajar: sí, esto también es necesario. Es imprescindible la creación de un clima de trabajo adecuado en donde estén presentes la cooperación y el respeto, de forma que cada individuo contribuya de forma positiva al proyecto.
Fuente: IAAP publicado por Jose Esterkin

Cliente-Proyecto

Del Cliente al Proyecto y del Proyecto al Cliente

Las empresas pueden ser innovadoras tomando como referencia y orientación estratégica el cliente. Y de eso se trata, de cómo hacer posible que la innovación se desarrolle en las empresas cuando éstas se plantean de/hacia/desde el cliente. De lo que realmente se trata es de transformar sus necesidades en oportunidades y éstas en productos y servicios, que estén equilibrados en sus relaciones de coste-beneficio y se presten en las mejores condiciones posibles, teniendo en cuenta la escasez relativa de medios y el uso alternativo de los mismos.

También se trata de incorporar en la empresa métodos y técnicas que si no estaba realmente orientada al cliente, no precisaba mucho o muy poco o nada. Por ejemplo, se trata de conocer al cliente, se trata de saber analizar, de saber estudiar las necesidades, modelizar e interpretar la realidad, se trata también de saber investigar no sólo los mercados, sino también el mundo interno, ahora que ya hemos aprendido las técnicas y métodos necesarios. Innovar no es sólo hacer investigación de mercados, sino constituir plataformas que permitan un conocimiento “casi automático” de los clientes y sus necesidades. Y se trata de combinarlas con el mercado, saber organizarlas con tus propias logísticas y formas productivas y convertirlas just-in-time en la mejor relación coste-beneficio.

Hay empresas que se mueven fuertemente en este apartado, que saben manejar la información, que analizan constantemente el cliente y sus comportamientos, que proyectan su actividad teniendo muy en cuenta esta realidad. Hay otras sin embargo, que prefieren proyectarse desde sí mismas, suelen ser más idealistas y aventureras, pero pueden ser también sólidas, siempre que encajen con el mercado o lo creen, lo modelen a su forma de ver las cosas, a su propio proyecto. Hay otras, muy pocas, que integran ambas facetas.

Visto en: www.robertocarballo.com

miércoles, 9 de enero de 2008

Pensamiento estratégico gestión proyectos

¿Que es estrategia?
El conjunto de acciones para lograr la adaptación al medio, de modo tal que permita lograr los objetivos propios integrando acciones de máxima que nacen de las oportunidades del entorno, con las de mínima que fundamentalmente dependen del propio proyecto.

La necesidad e una estrategia surge con la toma de decisiones, las decisiones podemos tomarlas es estos tres contextos básicamente:
- Con certeza: el decisor conoce la situación del contexto con exactitud.
- Con riesgo: el decisor no conoce cuál es la reacción del contexto pero sí conoce cuáles son las probables reacciones de dicho contexto.
- Con incertidumbre: el decisor no conoce cuál es la reacción del contexto.
Con el simple hecho de identificar en que contexto nos encontramos, podemos anticiparnos a muchos problemas y tratar de minimizarlos.

El planeamiento estratégico de un proyecto consiste en determinar la dirección que debe tener un proyecto para conseguir sus objetivos.
Podemos hacer un círculo de programación estratégica en la gestión del proyecto que básicamente seria: formulación de la estrategia - ejecución de la estrategia - evaluación de la estrategia.
En la visión estratégica es típico usar análisis del tipo del FODA (Fortalezas, Oportunidades, Debilidades y Amenazas) esta herramienta nos serviría mucho en cada proyecto, en la planeación de la estrategia puede usarse solo el análisis externo, es decir oportunidades y amenazas, esto nos ayudara a anticiparnos y aprovechar las oportunidades así como tener planes de contingencia para las amenazas. En la etapa de la Evaluación estrategia podemos centrarnos más en el análisis interno es decir Fortalezas y Debilidades, para evaluar si se pudieron superar las amenazas y aprovechar las oportunidades. Durante la ejecución es recomendable realizar una matriz FODA es decir relacionar las fortalezas con las oportunidades (FO) las fortalezas con las amenazas (FA) y las debilidades con las oportunidades y las amenazas también (DO y DA) por si es necesario redefinir la estrategia.

Gestión un Proyectos de Innovación

Una buena gestión de la innovación debe estar basada en una organización sistemática del proyecto de innovación.

Estrategias globales del proyecto de innovación
Hay muchos enfoques que puede tener un proyecto de innovación, debemos tratar de equilibrarlos según el contexto de cada proyecto de innovación. Estos enfoques podrían ser:
- Aprendizaje: Se debe usar este enfoque cuando el entorno sea incierto, bajo este enfoque las competencias de gestión del conocimiento son esenciales.
- Velocidad: Conocido también como “time to market”, Su importancia aumenta en aquellos casos en los que llegar primero al mercado supone una importante ventaja competitiva.
- Mercado: Cuando se tiene incertidumbre en cuanto al mercado y hay que analizar las necesidades potenciales entonces.
- Tecnología: Más tiempo y recursos deben ser dedicados a perfeccionar la base tecnológica y a comprender sus implicaciones potenciales.
- Cuantitativo: Se basa en una preponderancia en la utilización de instrumentos financieros y de control de costos. Este enfoque es típico de industrias maduras donde el ahorro es una prioridad.
- Proceso: Se basa en la racionalización y sistematización del proyecto de innovación a través de herramientas y métodos estandardizados. Es necesario en todos los proyectos de innovación.
Como podemos observar, todos estos enfoques hay siempre incertidumbre, por eso es necesaria la planeación estratégica analizando las probables reacciones del contexto, lo que hace mas importante aun saber equilibrar estos enfoques.
La preparación inicial para la gestión de proyectos de innovación
Lo más importante para la preparación de un proyecto de innovación, es el liderazgo, dependiendo de la magnitud del proyecto o si se administra un programa de proyectos o subproyectos, se tiene que organizar un comité de dirección o asignar a un encargado del proyecto. Siempre hay que tener en cuenta la gestión del conocimiento, los lideres del proyecto tienen que poner un especial cuidado en esto, para estar atentos a ideas creativas que puedan surgir a lo largo del proyecto.
La gestión de proyectos de innovación
Para gestionar adecuadamente un proyecto de innovación, podríamos identificar las siguientes etapas en el proyecto: generación de ideas – selección y definición – planificación – ejecución – cierre – revisión, después de esto podríamos aplicar un podo la visión de mejora continua y a partir de documentación de la revisión y las demás etapas, aprender y estandarizar para futuros proyectos aunque sean muy diversos y diferentes los proyectos aprenderemos mucho.
La gestión del conocimiento y del aprendizaje durante los proyectos de innovación
Lo esencial es estudiar y promover las condiciones organizacionales que hacen posible el aprendizaje y la mejora continua. La innovación se basa precisamente en el conocimiento bien gestionado a todos niveles, una innovación empieza con una idea creativa que muchas veces es la integración de varias ideas ya existentes y durante la ejecución y planeación del proyecto, pueden surgir muchas ideas nuevas si se conoce bien el contexto.

Conceptos Básicos

Proyecto:
Es un esfuerzo temporal emprendido para crear un producto o servicio único.

Etapas de un proyecto:
- Planificación: Etapa de un proyecto en la que se valoran las opciones, tácticas y estrategias a seguir teniendo como indicador principal el objetivo a lograr.
- Ejecución: Etapa de acción, en la que ocurre propiamente el proyecto.
- Evaluación: Etapa final de un proyecto en la que éste es revisado, y se llevan a cabo las valoraciones pertinentes sobre lo planeado y lo ejecutado, así como sus resultados, en consideración al logro de los objetivos planteado.

Gestión de proyectos:
Es la aplicación de conocimientos, habilidades, herramientas y técnicas para proyectar actividades destinadas a satisfacer las necesidades y expectativas de los beneficiarios de un proyecto.

Programa de proyectos:
Es un grupo de proyectos gestionados de forma coordinada para obtener unos beneficios que no serían posibles si se gestionan individualmente.

Subproyecto:
Es un componente de un proyecto, que resulta más fácil de gestionar.

Fuente: Wikipedia

domingo, 11 de noviembre de 2007

Controlar leds desde el puerto paralelo con Java

Esta es una pequeña guía de como enviar información a algún dispositivo a través del puerto paralelo.
Primero que todo tenemos que instalar la javacomm API
El gran dispositivo al que le quiero mandar información es un protoboard con 8 leds para que se enciendan cuando mande un 1 y se apaguen cuando mande un 0.
La construcción en el protoboard es muy sencilla:
Los pines 2-9 que son los del registro de 8 bits, los conectamos al lado positivo del los leds con una resistencia de 470 ohms el pin 25 a todas las patitas negativas de los leds, los pines 10-11 a tierra de una fuente externa y los pines 12, 13, 15 los conectamos a +5v de una fuente externa, estos son pines de estado, y lo que indican es que todo esta normal, para poder enviar los datos. Si no conectamos estos pines así, la API asumirá que hay algún problema y no se enviaran los datos, se quedara la aplicación congelada, en espera que cambie a estado normal. El programa para controlar los leds es este:
import java.io.*;
import java.util.*;
import javax.comm.*;

/**
*
* @author juls
*/
public class PruebaLeds {

static CommPortIdentifier idPort;
static ParallelPort pPort;
static OutputStream salida;

private static void iniciarPuerto(String nombrePuerto) throws Exception {
try {
idPort = CommPortIdentifier.getPortIdentifier(nombrePuerto);
pPort = (ParallelPort) idPort.open("Control de Puertos en Java", 0x378);
salida = pPort.getOutputStream();
} catch (Exception e) {
throw new Exception(e.getMessage() + "\n\nLa aplicación se cerrará.");
}
}

public static void main(String args[]) {
try {
iniciarPuerto("/dev/parport0");
System.out.println("Puerto iniciado ...");
System.out.println("Preparandose para escribir en el puerto ...");
salida.write(255);
salida.close();
System.out.println("Escritura sobre el puerto exitosa.");
} catch (Exception e) {
System.out.println(e.getMessage());
System.exit(1);
}


}
}
Lo iomprtante en este programa es la linea:
salida.write(255);
porque aqui es donde ponemos el numero que queremos escribir, 255 es en mayor numero que podemos enviarle ya que solo puede escribir 8 bits, con 255 encenderian los 8 leds.

Actualización: Este es el diagrama del circuito, solo puse 3 leds, en realidad pueden ser 8 del pin 2 al 9.