Experimentos con Mono, MonoDevelop y MySQL

Patxi Echarte, April 15th, 2008

Recientemente he tenido que desarrollar una serie de programas para mi tesis relacionados con temas de la Web Semántica, Folksonomías, etc. Hasta ahora había hecho ya unos cuantos en Java con Jena para trabajar con ontologías y algunos experimentos en C# con SharpDevelop con implementaciones de algoritmos de lógica difusa para pattern matching. De cara […]

Creado en .NET | 1 Comentario »

Programación funcional en C#

Patxi Echarte, February 1st, 2008

Via Barrapunto me llega la referencia a una página en la que se da un buena introducción a la programación funcional (en inglés).
La mayoría de nosotros estamos acostumbrados a programar de forma imperativa, aunque seguramente a más de uno le habrá tocado lidiar con algún lenguaje funcional, como LISP, en la Universidad. […]

Actualización de pantalla desde otro hilo de ejecución en C#

Patxi Echarte, January 16th, 2008

Cuando se desarrollan aplicaciones de escritorio es frecuente encontrarse en situaciones en las que es necesario realizar un proceso largo que puede producir que la interfaz se bloquee. En estas situaciones el usuario pierde el control de la aplicación y da la impresión de que está bloqueada. Lo ideal en estos casos es ejecutar el […]

Ordenar las claves de un Hashtable con C#

Patxi Echarte, November 27th, 2007

Hoy toca una sencillita, pero de esas que te pueden ahorrar algunas horas de mosqueo. Si sueles trabajar con colecciones de tipo Hashtable, puede que te hayas dado cuenta que cuando intentas obtener su contenido éste no se obtiene en el mismo orden en el que lo has introducido. Quizás te hayas dado cuenta introduciendo […]

Resumen de vectores de ataque XSS y SQL Injection

Patxi Echarte, March 27th, 2007

Una tarea importante en cualquier desarrollo es garantizar su seguridad ante ataques. O al menos así debería serlo, porque no suele ser lo habitual. Muchas veces estas cosas no se tienen en cuenta, bien por premuras de tiempo en el cierre de proyectos, o por el mero desconocimiento de los desarrolladores, que hace que sus […]

Vulnerabilidades CSRF en aplicaciones web

Patxi Echarte, March 12th, 2007

Hoy voy a hablar sobre un tipo de vulnerabilidades de aplicaciones web llamado Cross Site Request Forgery (CSRF). Aunque su nombre guarde cierta similitud con otro tipo de vulnerabilidades como Cross Site Scripting (XSS), hay importantes diferencias entre ellas. A diferencia de los ataques XSS, que se basan en explotar la confianza que tiene un […]

Solución al reto hacking de Informatica64

Patxi Echarte, January 23rd, 2007

Chema Alonso, alias el Maligno, propuso hace un tiempo su primer reto hacking. El reto me recordaba bastante a una iniciativa que hubo hace unos años por parte del Instituto de Seguridad en Internet, que se llamaba Boinas Negras. Dediqué una buena cantidad de horas a ir avanzando en aquella prueba y la verdad es […]

Obtener el nombre del equipo cliente con ASP.NET

Patxi Echarte, September 1st, 2006

Es posible obtener información sobre el equipo desde el que se conecta un cliente a una página web utilizando el objeto Request. Este objeto nos proporciona información sobre lenguajes aceptados, versión del navegador, la dirección ip y el nombre del equipo entre otros. Más adelante comentaré alguna cuestión referente a la dirección IP, pero ahora […]

Controles Repeater anidados en listados ASP.NET

Patxi Echarte, August 17th, 2006

Es habitual al desarrollar aplicaciones web con ASP.NET, tener que utilizar controles Repeater para mostrar el contenido de un listado. Se puede utilizar para mostrar un listado de noticias, el contenido de un carro de la compra, o simplemente un conjunto de enlaces. El funcionamiento de este control es muy sencillo, y se basa en […]

Controlando la ejecución de threads

Patxi Echarte, May 9th, 2006

Continuando con un tema que ya he tratado en algún artículo anterior (éste y éste) voy a hablar algo más sobre el manejo de hilos en .NET. En esta ocasión voy a explicar cómo controlar la ejecución de los hilos, pausándolos y reanudándolos conforme lo necesitemos.

La clase Thread dispone […]