Apache Wicket 1.5.3 en Eclipse Helios

26 de noviembre de 2011

En una entrada anterior [1] publiqué cómo hacer un "Hola Mundo" en Eclipse usando el Framework Apache Wicket. Indiqué que lo había hecho con la versión 1.3 de Wicket. He encontrado la forma en la que se debe crear un nuevo proyecto con la versión más reciente del Framework. Dejo el vídeo [2].

Referencias:
[1] http://ingfomentor.blogspot.com/2011/11/hola-mundo-con-wicket-en-eclipse-sobre.html
[2] http://youtu.be/3fdiCBb4rK8

Hola Mundo con Apache Wicket en Eclipse sobre servidor Apache Tomcat

3 de noviembre de 2011

La idea fue probar la forma de crear aplicaciones con el framework java Apache Wicket utilizando Eclipse. Lo logré, mas he optado por hacerlo en NetBeans pues es mucho más fácil con el plugin [1] que se tiene para ese IDE (si no se instala el plugin, asegurarse de que se tiene la última versión del IDE) y sobre todo tiene la versión 1.4, en cambio en Eclipse se crea y utiliza la versión 1.3 (debe haber cómo utilizar la última versión de Wicket, pero he decidido no seguir gastando tiempo en hacer eso).

Si se desea comenzar a utilizar Apache Wicket recomiendo seguir el libro Enjoying Web Development with Wicket de Kent Ka Iok Tong que, aunque es del 2007, me ha ayudado sobremanera.

1. Descargar Apache Tomcat [2].
2. Instalar el servidor Apache Tomcat en Eclipse [3]. Para provar un proyecto web básico verificando que el servidor funcione [4].
3. Instalar Plugin Maven 2 en Eclipse [5].
4. Creamos un nuevo proyecto Maven 2

Concepto o Técnica de la Horda de Mongoles

7 de octubre de 2011

Desde hace un tiempo he estado leyendo el libro de Roger S. Pressman llamado Ingeniería del Software - Un enfoque práctico (Séptima edición). La cosa es que en el capítulo 1 se habla de los Mitos del Software (página 18) y se menciona el mito de que "si nos atrasamos [en un proyecto de software], podemos agregar más programadores y ponernos al corriente (en ocasiones, a esto se le llama 'concepto de la horda de mongoles')". Lo que no entendía es porqué se menciona el concepto de la horda de mongoles, no sabía a qué se refería eso y porqué se usa ese concepto en ingeniería de software. La verdad es que no se me hizo fácil hallar la respuesta (hasta lo pregunté en yahoo answers [1]) hasta que alguien (@hergUStone [2]) en twitter me ayudó con la respuesta [3].

Referencias

[1] http://mx.answers.yahoo.com/question/index?qid=20111005200521AAqk98i
[2] http://twitter.com/hergUStone
[3] http://blog.betterriskmanagement.com/2009/03/disaster-recovery-via-the-mongolian-horde-technique/

Agregar Impresora HP LaserJet P2055dn en Red. Windows XP

29 de septiembre de 2011


Web Semántica

18 de septiembre de 2011

La web semántica14 [Berners-Lee 2001] propone superar las limitaciones de la web actual mediante la introducción de descripciones explícitas del significado, la estructura interna y la estructura global de los contenidos y servicios disponibles en la WWW. Frente a la semántica implícita, el crecimiento caótico de recursos, y la ausencia de una organización clara de la web actual, la web semántica aboga por clasificar, dotar de estructura y anotar los recursos con semántica explícita procesable por máquinas. La figura 2 ilustra esta propuesta. Actualmente la web se asemeja a un grafo formado por nodos del mismo tipo, y arcos (hiperenlaces) igualmente indiferenciados. Por ejemplo, no se hace distinción entre la página personal de un profesor y el portal de una tienda on-line, como tampoco se distinguen explícitamente los enlaces a las asignaturas que imparte un profesor de los enlaces a sus publicaciones. Por el contrario en la web semántica cada nodo (recurso) tiene un tipo (profesor, tienda, pintor, libro), y los arcos representan relaciones explícitamente diferenciadas (pintor – obra, profesor – departamento, libro – editorial).

La web semántica mantiene los principios que han hecho un éxito de la web actual, como son los principios de descentralización, compartición, compatibilidad, máxima facilidad de acceso y contribución, o la apertura al crecimiento y uso no previstos de antemano. En este contexto un problema clave es alcanzar un entendimiento entre las partes que han de intervenir en la construcción y explotación de la web: usuarios, desarrolladores y programas de muy diverso perfil. La web semántica rescata la noción de ontología del campo de la Inteligencia Artificial como vehículo para cumplir este objetivo.

Gruber define ontología como “a formal explicit specification of a shared conceptualization” [Gruber 1993]. Una ontología es una jerarquía de conceptos con atributos y relaciones, que define una terminología consensuada para definir redes semánticas de unidades de información interrelacionadas. Una ontología proporciona un vocabulario de clases y relaciones para describir un dominio, poniendo el acento en la compartición del conocimiento y el consenso en la representación de éste. Por ejemplo, una ontología sobre arte podría incluir clases como Pintor, Cuadro, Estilo o Museo, y relaciones como autor de un cuadro, pintores pertenecientes a un estilo artístico u obras
localizadas en un museo.

La idea es que la web semántica esté formada (al menos en parte) por una red de nodos tipificados e interconectados mediante clases y relaciones definidas por una ontología compartida por sus distintos autores. Por ejemplo, una vez establecida una ontología sobre cuadros y pintura, un museo virtual puede organizar sus contenidos definiendo instancias de pintores, cuadros, etc., interrelacionándolas y publicándolas en la web semántica. La adopción de ontologías comunes es clave para que todos los que participen de la web semántica, contribuyendo o consumiendo recursos, puedan trabajar de forma autónoma con la garantía de que las piezas encajen. Así por ejemplo varios museos podrían colaborar para dar lugar a un gran meta-museo que integre los contenidos de todos ellos. Un programa que navegue por una red como ésta puede reconocer las distintas unidades de información, obtener datos específicos o razonar sobre relaciones complejas. A partir de aquí sí podemos distinguir entre un cuadro pintado por un artista y un retrato de un artista.

Por último, la web no solamente proporciona acceso a contenidos sino que también ofrece interacción y servicios (comprar un libro, reservar una plaza en un vuelo, hacer una transferencia bancaria, simular una hipoteca). Los servicios web semánticos son una línea importante de la web semántica, que propone describir no sólo información sino definir ontologías de funcionalidad y procedimientos para describir servicios web: sus entradas y salidas, las condiciones necesarias para que se puedan ejecutar, los efectos que producen, o los pasos a seguir cuando se trata de un servicio compuesto. Estas descripciones procesables por máquinas permitirían automatizar el descubrimiento, la composición, y la ejecución de servicios, así como la comunicación entre unos y otros.

Instalación de NetBeans IDE 7.0.1 en Ubuntu 11.04

  1. Descargar el IDE desde la página oficial de NetBeans [1].
  2. Con el paquete en algún directorio local, desde el terminal tecleamos [2]: sudo sh netbeans-7.0.1-ml-linux.sh
  3. Se nos lanza el instalador.

Error en el tipo de datos cargados en la función SIM

7 de septiembre de 2011

La idea principal fue crear un ejecutable en Matlab [1] en donde se hace uso de funciones de redes neuronales. Este ejecutable debía servir sin la necesidad de que Matlab esté instalado en el equipo. El problema surgió cuando se genero el ejecutable. En una de las funciones, a saber, la función sim, no podía funcionar con uno de los parámetros que matlab "automáticamente" cambiaba de tipo al cargar. Se hacía la carga de la siguiente manera 

load('net.mat');

El error era el siguiente:

Warning: Class ':all:' is an unknown object class. Object 'net' of this class has been converted to a structure.

La solución [2] simplemente fue agregar una línea de código al comienzo del archivo que contenía la línea mencionada (load('net.mat');), es línea fue la siguiente:

%#function network

Con esto ya no se cambiaba el tipo de objeto y la ejecución era exitosa.

Referencias

Instalación de OpenOffice en Ubuntu

8 de febrero de 2011

Así es como instalé OpenOffice 3.3 en Ubuntu 10.10.
  1. Desinstalé todos los paquetes de la versión actual (En Synaptic se marca todos los paquetes para su desinstalación).
  2. Descargué el paquete (.DEB) de la página oficial de OpenOffice.
  3. Copié el archivo a la carpeta personal (es opcional, sólo por comodidad).
  4. tar -vxzf nombreDeArchivo.tar.gz
  5. cd directorio_OOo/DEBS (directorio_OOo es el desempaquetado de nombreDeArchivo.tar.gz)
  6. sudo dpkg -i *.deb
  7. cd desktop-integration (esta carpeta está dentro de directorio_OOo/DEBS)
  8. sudo dpkg -i *.deb
Fuente
Hagar de l'Est. [Tutorial] Installing OOo on Ubuntu, Debian and Co., Sun Nov 18, 2007 11:35 pm. En línea http://user.services.openoffice.org/en/forum/viewtopic.php?f=74&t=68

Leer partición Ext4 desde Windows 7

16 de enero de 2011

Una mañana quise seguir trabajando en mi Ubuntu como todos los días y pues nunca más pude arrancarlo.  La verdad es que yo mismo tuve la culpa de actualizar algunas cosas que no debía. Quise arreglar el problema y la verdad no tenía tiempo para recuperar el sistema de archivos, pero lo que no quería perder era al menos los datos. En el computador tenía además Windows 7, así que tenía que recuperar la información, que es lo más importante en realidad. Busqué un poco y encontré Ext2Read, sólo me lo descargué y lo instalé; la utilización es muy fácil, yo lo ejecuté y enseguida me mostró la partición que deseaba.
Pantalla Principal de Ext2Read
Ext2Read es una utilidad para examinar ficheros ext2/ext3/ext4. Ahora soporta LVM2 y EXT4. Y puede ser usado para ver y copiar ficheros y carpetas. Puede también copiar recursivamente carpetas enteras y ser usado para ver y copiar discos y ficheros” (SourceForge, 2010).

La Web Semántica en comparación con la Inteligencia Artificial

8 de enero de 2011

Pequeña parte de mi tesis que fue borrada, a alguien le servirá.

La mayoría de las tecnologías necesarias para la realización de la Web Semántica se basan en el trabajo del área de la Inteligencia Artificial (IA). De ahí que se tenga ciertas dudas en su evolución, puesto que en la inteligencia artificial, algunas veces se han planteado objetivos demasiado prometedores, pero sin una conclusión satisfactoria de los mismos.

Esta preocupación está justificada. Pero para los fines que se persiguen en la Web Semántica, la solución de la Inteligencia Articial va a funcionar. Incluso si un agente inteligente no fuera capaz de hacer todas las conclusiones que un ser humano puede ser capaz de hacer, el agente aún contribuiría a hacer la Web Semántica muy superior a la Web actual. Esto lleva a otra diferencia notoria: si el objetivo último de la IA es construir un agente inteligente que exhiba inteligencia de nivel humano (incluso superior), el objetivo de la Web Semántica es ayudar a los seres humanos en las actividades de navegación on line del día a día.

Una vez hecha esta distinción, es claro que la Web Semántica hará uso extensivo de la tecnología de la Inteligencia Artificial actual, y que los avances en la tecnología llevarán a una mejora de la Web Semántica. Pero no hay necesidad de esperar a que la Inteligencia Artificial alcance un mayor nivel de logro, la actual tecnología ya es suficiente para recorrer un largo camino hacia la realización de la visión de la Web Semántica.

Related Posts with Thumbnails