Tras un enorme parón en la actividad del blog debido a diversas circunstancias que han obligado a ello, retomamos el ritmo con una buena noticia.

La librería NRtfTree ha llegado, según estadísticas de Sourceforge, a las 5.000 descargas. Nunca pensé que un proyecto de propósito tan súmamente específico como NRtfTree podría generar “tanto” interés. Claro está que unos pocos miles de descargas no son nada en comparación con los grandes proyectos de código libre, pero sí resulta un número importante para algo que comenzó como una simple librería auxiliar para un pequeño proyecto personal.

Como curiosidad, separando las descargas por versión de la librería, tenemos los siguientes datos:

Versión Descargas
v0.2.0 347
v0.2.1 1606
v0.3.0 3107

Ante esto no puedo más que dar las gracias a todos los que han colaborado aportanto ideas, nuevas funcionalidades, y reportando errores, tareas más que importantes a la hora de evolucionar un proyecto de este tipo.

Espero de aquí en adelante tener el tiempo necesario para seguir mejorando NRtfTree, y sobre todo espero seguir contando con el apoyo de los que colaboráis habitualmente con el proyecto.

, , ,

El pasado miércoles Scott Guthrie nos sorprendío en su blog anunciando que la nueva plataforma ASP.NET MVC pasaba a estar disponible bajo una licencia open source, concretamente MS-PL, la cual permite la libre modificación y redistribución del software sin restricciones en cuanto a la plataforma.

Existen dos alternativas a la hora de instalar este framework. La primera de ellas es descargar el instalador independiente de ASP.NET MVC desde la web de descargas de Microsoft, y como segunda opción también se puede optar por descargar el llamado Microsoft Web Platform Installer (V2), que integra en un sólo instalador el stack completo y gratuito de Microsoft para el desarrollo y publicación de aplicaciones web (la plataforma compuesta por .NET Framework, ASP.NET, MVC, Ajax, jQuery…, el servidor IIS 7.0, la base de datos SQL Server 2008 Express, y las herramientas de diseño y desarrollo Visual Web Developer Express 2008 y Expression Web 2). El código fuente también se puede descargar desde la web de descarga de Microsoft para ASP.NET MVC.

Por su parte Miguel de Icaza, la cara más visible del proyecto Mono [el otro lado open source de .NET] no ha tardado en anunciar la compatibilidad total del framework ASP.NET MVC con la plataforma Mono e incluso la integración de ambas y la disponibilidad de una extensión de MonoDevelop para el desarrollo con ASP.NET MVC. Bravo una vez más por el software libre y por la rapidez de reacción de las comunidades que están detras de estas herramientas.

En la siguiente entrada publicaré algunos recursos que pueden ayudar enormemente a conocer mejor la plataforma ASP.NET MVC.

, , , , , , ,

Para comenzar con las entradas sobre inteligencia artificial hoy os paso el enlace a un libro gratuito sobre inteligencia artificial en java. Este libro nos llega de la mano de Mark Watson y trata el tema desde un punto de vista completamente práctico, presentando las distintas herramientas java y recursos disponibles en el ámbito de cada uno de los conceptos tratados.

Los contenidos del libro son los siguientes:

  1. Técnicas de búsqueda
  2. Razonamiento automático con PowerLoom
  3. Web semántica con RDF, SPARQL, Sesame, OWL…
  4. Sistemas expertos con Drools
  5. Algoritmos genéticos
  6. Redes neuronales
  7. Aprendizaje automático con Weka
  8. Procesamiento de lenguaje natural con WordNet, JAWS…
  9. Extracción de información con Open Calais, Lucene…

El libro [en inglés] se encuentra en formato PDF y se distribuye gratis, bajo licencia Creative Commons, desde la siguiente web:

Mark Watson’s Open Content Free Books

Sin duda, un buen recurso al que merece la pena echar un vistazo y tenerlo como buen punto de partida en el uso de algunas herramientas java relacionadas con la inteligencia artificial.

, , , , ,

Descargas JRtfTree

En esta sección se mostrarán todas las descargas disponibles para el proyecto JRtfTree:

Versión v0.1.1 beta [143 Kb]

Fuentes completos de la librería JRtfTree v0.1.1b, fichero JAR, y documentación javadoc.

, , , ,

Descargas NRtfTree

Esta entrada forma parte de una serie de artículos dedicados a NRtfTree, la librería .NET para tratamiento de documentos RTF, entre los cuales podrás encontrar una descripción detallada de la librería, documentación técnica, ejemplos y tutoriales de uso que pueden ser de tu interés. No olvides consultar la página principal de NRtfTree para más información.

En esta sección se mostrarán todas las descargas disponibles para el proyecto NRtfTree:

Última Versión: 0.3 Final (0.3.3503)

Fuentes NRtfTree 0.3 Final (0.3.3503) [1.29 Mb]

Esta descarga incluye:

  • Fuentes completos de la librería NRtfTree v0.3.0 beta 2.
  • Fuentes completos de las aplicaciones de ejemplo de NRtfTree.
  • Documentación API de la librería NRtfTree en formato CHM y HTML.

Ejecutables NRtfTree v0.3 Final (0.3.3503) [131 Kb]

Esta descarga incluye:

  • Librería NRtfTree compilada.
  • Ejecutables de las aplicaciones de ejemplo.
  • Documentos de ejemplo.

Documentacion API NRtfTree 0.3 Formato CHM [300 Kb]

Esta descarga incluye:

  • Documentación de la librería NRtfTree 0.3 en formato CHM.

Documentacion API NRtfTree 0.3 Formato HTML [658 Kb]

Esta descarga incluye:

  • Documentación de la librería NRtfTree 0.3 en formato HTML.

Aunque no recomendable, también es posible descargar versiones anteriores de la librería:

Versión 0.3.0 beta 2

Fuentes NRtfTree 0.3.0 beta 2 [1.07 Mb]

Esta descarga incluye:

  • Fuentes completos de la librería NRtfTree v0.3.0 beta 2.
  • Fuentes completos de las aplicaciones de ejemplo de NRtfTree.
  • Documentación de la librería NRtfTree en formato CHM y HTML.

Ejecutables NRtfTree v0.3.0 beta 2 [243 Kb]

Esta descarga incluye:

  • Librería NRtfTree compilada.
  • Ejecutables de las aplicaciones de ejemplo.
  • Documentos de ejemplo.

Versión 0.3.0 beta 1

Librería NRtfTree v0.3.0 beta 1 [63 Kb]

Fuentes completos de la librería NRtfTree v0.3.0 beta 1 y de la aplicación de ejemplo.

Aplicación de ejemplo NRtfTree v0.3.0 beta 1 [548 Kb]

Ejecutables de la librería, aplicación de ejemplo y documentación HTML. Se incluyen tres documentos de ejemplo para utilizar con la demostración.


Versión 0.2.1

Librería NRtfTree v0.2.1 [45 Kb]

Fuentes completos de la librería NRtfTree v0.2.1 y de la aplicación de ejemplo.

Aplicación de ejemplo NRtfTree v0.2.1 [195 Kb]

Ejecutables de la librería y  la aplicación de ejemplo. Se incluyen tres documentos de ejemplo para utilizar con la demostración.

Documentación NRtfTree v0.2.1 [100 Kb]

Documentación en formato CHM de la librería [en español].


, , , ,

Acabo de publicar la nueva versión 0.3.0b1 de la librería NRtfTree. Destacar que por el momento tan sólo se trata de una versión preliminar (beta) donde se han corregido algunos errores de versiones anteriores y se ha añadido alguna funcionalidad adicional que podrá sufrir cambios en betas posteriores. Los cambios más significativos son los siguientes:

  • Cambio de licencia. A partir de esta versión la librería se distribuye bajo licencia LGPL.
  • Nueva clase RtfDocument, RtfColorTable, RtfFontTable y RtfTextFormat. Pretenden facilitar la creación de documentos RTF desde cero, añadiendo fácilmente fragmentos de texto e imágenes. En esta versión preliminar se ofrece sólo un soporte básico para realizar estas funciones.
  • Clase RtfTree
    • Nueva propiedad MergeSpecialCharacters. Activando esta propiedad, si se encuentra un caracter especial (\’) éste se convertirá a un nodo de tipo texto y se intentará combinar con los nodos tipo texto adyacentes, de forma que se obtenga un único nodo.
    • Nueva propiedad Text. Devuelve el texto plano del documento.
    • Nuevo método GetEncoding(). Devuelve la codificación utilizada en el documento.
  • Clase RtfTreeNode
    • Nueva propiedad Tree. Devuelve una referencia al árbol propietario del nodo.
    • Nuevo método ToString(). Devuelve una representación textual del nodo.
    • Nuevo método InsertChild(). Inserta un nuevo nodo en cualquier posición de la lista de nodos hijos.
    • Se sustituyen los métodos SelectXXXByType() por sobrecargas de SelectXXX().
    • Nuevos métodos SelectSibling() (+3 sobrecargas). Seleccionan nodos hermanos.
  • Clase RtfNodeCollection
    • Nuevo método Insert(). Inserta un nuevo nodo en cualquier posición de la colección.
    • Nuevo método RemoveRange(). Elimina un conjunto de nodos contiguos de la colección.
  • Clase InfoGroup
    • Nuevo método ToString(). Decuelve una representación textual del nodo.
  • Bugs corregidos
    • Los nodos de tipo Group y Root no se inicializaban con ninún texto.
    • En ocasiones la propiedad RtfTreeNode.Rtf no devolvía la última llave ‘}’.
    • No se trataban correctamente los caracteres especiales ‘\’, ‘{‘ y ‘}’ como parte del texto.
    • Cuando se añade un nuevo nodo con AppendChild() o InsertChild() no se actualizaban las propiedades Root y Tree de forma recursiva.

Como siempre la nueva versión puede ser descargada desde la página principal del proyecto NRtfTree.

Espero comentarios sobre la nueva versión.

, , , , , , ,

Ya existe una versión preliminar de la librería JRtfTree, una conversión al lenguaje Java de NRtfTree. Por el momento se han traducido tan sólo las clases base y la documentación.

Podéis descargar todos los fuentes pulsando aquí.

, , ,

Después de un tiempo de prueba, publico la segunda versión estable de la librería NRtfTree, que tiene como novedades principales las siguientes:

  • Optimimización de varios de los principales métodos de la librería, lo que supone una mejora sustancial del rendimiento al procesar documentos de gran tamaño.
  • Nuevas propiedades para facilitar la navegación a través del árbol RTF:
    • FirstChild: Primer nodo hijo.
    • LastChild: Último nodo hijo.
    • PreviousSibling: Nodo hermano anterior.
    • NextSibling: Nodo hermano siguiente.
  • Nuevos métodos de búsqueda en el árbol RTF:
    • Búsqueda entre nodos hijo por palabra clave o tipo de nodo:
      • SelectSingleChildNode()
      • SelectChildNodes()
      • SelectSingleChildNodeByType()
      • SelectChildNodesByType()
    • Búsqueda en profundidad [a partir de un nodo] por palabra clave o tipo de nodo:
      • SelectSingleNode()
      • SelectNodes()
      • SelectSingleNodeByType()
      • SelectNodesByType()
  • Nuevo método SaveRtf(), que proporciona la posibilidad de guardar a fichero [como documento de tipo *.rtf] un árbol modificado.
  • Nuevos métodos para extraer de forma automática varias de las estructuras más utilizadas de la cabecera de un documento RTF:
    • GetFontTable(): Tabla de fuentes del documento RTF.
    • GetColorTable(): Tabla de colores del documento RTF.
    • GetInfoGroup(): Propiedades del documento RTF.
  • Tres nuevas clases especializadas con los métodos necesarios para facilitar el tratamiento de las imágenes contenidas en el RTF, los objetos incrustados y las tablas de propiedades del documento:
    • ImageNode: Nodo especializado para imágenes.
    • ObjectNode: Nodo especializado para objetos.
    • InfoGroup: Tabla de propiedades del documento RTF.
  • Corrección, adaptación y ampliación de la aplicación de ejemplo distribuida junto a la librería para hacer uso de las nuevas características.

Desde la página de descargas de NRtfTree podéis obtener tanto los binarios y la documentación de la librería, como los fuentes completos y la aplicación de demostración [recomiendo leer el archivo Leeme.txt incluido en el zip]. Además, aunque el código fuente se encuentra bastante comentado, recomiendo además echarle un vistazo a los dos tutoriales de uso de la librería publicados hace unos días y a los que podéis acceder a través de la página del proyecto.

, , , , ,