Ant 2e6 + 1

Web sobre programación y aplicaciones personales.

Aquí recopilo información sobre mis aplicaciones , artículos y mi opinión personal sobre el negocio de la informática en particular y la vida en general.


BauMessenger: implementación del protocolo XMPP

Los más veteranos del lugar quizá recuerden que sobre el año 2.000 surgieron una nueva línea de aplicaciones conocidas con el nombre genérico de 'aplicaciones de mensajería instantánea '. Entre estas aplicaciones estaban Icq (de Mirabilis), Yahoo ! Messenger (de Yahoo, obviamente) o MSN Messenger (de Microsoft) y plantearon una nueva guerra por captar usuarios similar a la que se había vivido entre los navegadores.

La función de estas aplicaciones eran permitir enviar información de presencia (el usuario está conectado y libre para conversar o no) y mensajes y archivos instantáneamente entre usuarios. Algunos de ellos incluso permitían conversaciones en grupo o chat. Todas ellas utilizaban software de comunicación propietario, es decir, no existía un estándar y era imposible contactar con un usuario a menos que se utilizase la misma aplicación. ¿Os suena de algo ? ¿Alguien ha pensado en WhatsApp / Telegram / Line... ?

Leer más...

Desarrollo de plugins con .Net

El concepto de plugin o extensión es bien conocido para todo desarrollador: un componente dentro de una aplicación que se puede cargar y utilizar en tiempo de ejecución sin vincularlo directamente en tiempo de diseño.

Los plugins nos permiten añadir funcionalidades a nuestra aplicación para las que no estaba preparada en un principio e incluso cargarlos o descargarlos sin necesidad de configuración.

Leer más...

Librería FTP en C#

En las aplicaciones que utilizan FTP para intercambio de archivos, hasta ahora he utilizado un wrapper sobre la librería de FTP de.NET.

En uno de mis últimos proyectos, necesitaba acceder a FTPs y no pude conseguirlo a través de las librerías básicas de.NET. En algunos casos me daban errores de conexión a través de un proxy HTTP y en otros errores de comunicación. Existen formas de solventarlo pero me pareció más eficaz e instructivo implementarlo por mí mismo.

Leer más...

Trazas de comunicaciones en C#

Estos días, he tenido que enfrentarme a una aplicación para transmitir archivos por sFTP .

El problema principal, aunque parezca lo contrario, no ha sido la implementación del protocolo en sí, si no averiguar porqué fallaban ciertas rutinas de comunicaciones y saber qué estaba pasando por debajo, es decir, qué intentaba hacer.NET cuando le pedía abrir un stream o cambiarlo por un stream SSL.

Leer más...

Servidor SMTP para desarrollo (C#)

Este fin de semana tenía la intención de recuperar el código de una librería antigua para generación de informes y aprovechar el tratamiento de plantillas de NSharpDoc para hacerla algo más versátil pero el primer correo electrónico de la mañana desbarató mis planes y me llevó a otro desarrollo completamente diferente.

El correo en sí era sobre una aplicación que ofrecía servidores SMTP para desarrollo, los conocidos como FakeSMTP . Un FakeSMTP no es más que un servidor de SMTP que no envía los correos recibidos a las direcciones de correo finales.

Leer más...

Librería para cálculo de expresiones con C#

Uno de los requisitos que me encuentro frecuentemente en mis proyectos es la interpretación y el cálculo de expresiones matemáticas desde una aplicación.

Una librería que pueda interpretar y ejecutar expresiones matemáticas no es un proceso excesivamente complejo, por he separado esta sección de mi librería de compilación de NHaml de BauPlugStudio y la he subido a GitHub para poder utilizarla por separado.

Leer más...

Introducción a la API de TFS

Estos días he estado jugando con el acceso a Team Foundation Server utilizando sus API y servicios Web.

Aunque una vez que conoces sus bases es bastante fácil de utilizar, la documentación es, en el mejor de los casos, escasa y dispersa por eso he decidido escribir una breve introducción a TFS para programadores.

Leer más...

Estructuras de documentación

Las estructuras de documentación son las estructuras básicas para la generación de documentación en NSharpDoc .

Como hemos explicado en otras secciones de esta Web, NSharpDoc es un sistema que nos permite documentar código fuente y otros orígenes de datos frecuentes en el desarrollo de software como bases de datos o requisitos. Para ello necesitamos una estructura normalizada que hemos llamado precisamente estructuras de documentación .

Leer más...

Proveedores de NSharpDoc

NSharpDoc es un sistema extensible para generación de documentación asociada al desarrollo, es decir, permite añadir nuevos módulos o métodos para documentar diferentes sistemas como bases de datos u otros lenguajes de programación distintos a C #.

Para permitir la implementación de otras fuentes de documentación en NSharpDoc , se utilizan los conceptos de proveedores que explicamos en este artículo y de estructuras de documentación y plantillas que se detallan en otras secciones de esta Web.

Leer más...

Plantillas de NSharpDoc

NSharpDoc incorpora un sistema de plantillas que nos permite personalizar completamente la documentación generada.

Uno de los principios básicos de este sistema de plantillas es que resulte fácil de implementar, por eso utiliza HTML como base para el sistema de definición de páginas y una serie de archivos XML que identifican las plantillas utilizadas en cada caso.

Leer más...