Este es un blog técnico dedicado al desarrollo de software y análisis de datos, en el podrás encontrar artículos relacionados con estos temas y software de libre distribución para descargar, desarrollado por mi.
-
05/05/2018
En este segundo artículo de la serie sobre reconocimiento de posturas usando el sensor Kinect de Microsoft voy a mostrar estructuras y clases genéricas usadas para aislar la aplicación de las diferentes versiones de SDK existentes. La versión del SDK que debemos utilizar depende del modelo de sensor que estemos utilizando. En el código de ejemplo yo he utilizado la versión 2.0, para el sensor de la Xbox One.
[Leer Mas...] -
22/04/2018
Una de las posibilidades más interesantes que nos ofrece el sensor Kinect de Microsoft es la detección de cuerpos humanos, que nos permite desarrollar aplicaciones basadas en las distintas posturas que adopta el usuario o que son manejadas a distancia utilizando las posiciones de las manos. Para ello, proporciona una serie de puntos que representan las diferentes articulaciones del cuerpo.
[Leer Mas...] -
11/03/2018
En artículos anteriores presenté un sistema casero de videovigilancia, la aplicación ThiefWatcher. Se trata de una aplicación extensible que trabaja combinando varios protocolos, como cámaras, disparadores, canales de comunicación y sistemas de almacenamiento. En este artículo mostraré como implementar algunos de estos protocolos usando el sensor Kinect de Microsoft.
[Leer Mas...] -
18/02/2018
El sensor Kinect de Microsoft es un dispositivo muy potente que proporciona servicios de captura de imagen, medición de distancias y reconocimiento de posturas corporales y de expresiones faciales, algo que lo hace apropiado para una infinidad de aplicaciones. En este artículo introductorio mostraré como usarlo para capturar diferentes tipos de imagen.
[Leer Mas...] -
10/12/2017
Resolver cualquier Sudoku es un problema que puede parecer complicado si se utilizan métodos de fuerza bruta, probando todas y cada una de las combinaciones posibles. Pero, con el planteamiento adecuado, puede resolverse cualquiera de estos problemas en unos pocos milisegundos. En este artículo voy a mostrar una forma de conseguirlo mediante un correcto planteamiento.
[Leer Mas...] -
02/12/2017
Para finalizar esta serie sobre la programación de aplicaciones multitarea, voy a mostrar el uso de un sencillo mecanismo que permite implementar métodos asíncronos que permiten ceder sus tiempos de espera para la ejecución de otras tareas paralelas o eventos disparados por controles del interfaz de usuario.
[Leer Mas...] -
18/11/2017
Hasta ahora he mostrado ejemplos de multitarea que dejaban la aplicación bloqueada hasta que terminaban. Esto no resulta muy útil en la práctica. Lo normal es que el usuario pueda seguir interactuando con la aplicación mientras se ejecutan las tareas en el fondo, y que estas puedan interactuar a su vez con el interfaz de usuario.
[Leer Mas...] -
05/11/2017
En las aplicaciones multitarea existe una problemática con el acceso concurrente a los recursos, como archivos o memoria, por varias tareas simultáneamente. Dos tareas no pueden escribir al mismo tiempo en la misma dirección de memoria, es necesario asegurarse de que algunos datos no se modifiquen mientras los estamos leyendo o cosas por el estilo. En este artículo revisaré los mecanismos que proporciona .NET Framework para tratar con estos problemas.
[Leer Mas...] -
19/09/2017
Después de revisar las clases para implementar la multitarea básica, en este artículo voy a revisar diferentes mecanismos que permiten realizar una sincronización entre varias tareas, todos ellos definidos en el espacio de nombres System.Threading, con los que se puede organizar el trabajo cuando las interacciones entre tareas requieren de un orden determinado.
[Leer Mas...] -
04/09/2017
Con este artículo comienza una serie en la que voy a revisar los mecanismos básicos que proporciona .NET Framework para la implementación de aplicaciones multitarea. En primer lugar voy a mostrar las clases básicas que permiten lanzar múltiples procesos y hacer una comparativa de rendimiento entre ellas.
[Leer Mas...] -
14/07/2017
Muchas veces descuidamos, por falta de tiempo, inexperiencia o por simple pereza, el dotar a nuestros desarrollos de unos buenos mecanismos de seguimiento de la actividad, lo que tiene como consecuencia un aumento sustancial de la dificultad y el tiempo necesario para determinar las causas de ciertos errores que se detectan bastante tiempo después de haberse producido, cuando el estado del sistema puede haber cambiado sustancialmente.
[Leer Mas...] -
23/06/2017
Este es el artículo final de la serie dedicada al programa WinCA, que permite editar y ejecutar autómatas celulares. Para terminar voy a revisar el código que se encarga del autómata en sí, utilizando todas las clases e interfaces explicadas en los artículos anteriores.
[Leer Mas...] -
02/06/2017
Continúo explicando lo más básico del código de la aplicación WinCA, dedicada a la construcción y ejecución de autómatas celulares. En esta ocasión voy a hablar de la implementación de las celdas y otras clases auxiliares utilizadas en la construcción de los autómatas propiamente dichos.
[Leer Mas...] -
26/05/2017
Seguimos con la serie dedicada a los autómatas celulares y la aplicación WinCA para construirlos y ejecutarlos. En este artículo voy a explicar el código relacionado con el sistema de expresiones que permite establecer las condiciones para cambiar de un estado a otro.
[Leer Mas...] -
19/05/2017
Continúo comentando el código fuente del programa WinCA, dedicado a los autómatas celulares. En este artículo voy a explicar los interfaces y las clases con las que se implementan los estados de las celdas y su edición. Puedes utilizar estos interfaces y clases como base para extender el funcionamiento de la aplicación.
[Leer Mas...] -
12/05/2017
Una vez revisado el funcionamiento de la aplicación WinCA, dedicada a los autómatas celulares, vamos a ver cómo está organizado el código fuente de la misma. En este artículo voy a explicar las propiedades de los estados de las celdas, y como se pueden extender para añadir nuevas funcionalidades implementando nuevas clases con los interfaces correspondientes.
[Leer Mas...] -
05/05/2017
En este artículo, tercero de la serie, continúo explicando el funcionamiento de la aplicación WinCA, para la construcción y ejecución de autómatas celulares. Esta vez voy a mostrar el lenguaje utilizado para definir las transiciones entre los diferentes estados de las celdas del autómata.
[Leer Mas...] -
28/04/2017
Este es el segundo artículo de la serie sobre la aplicación WinCA, dedicada a la construcción y ejecución de autómatas celulares. En este artículo voy a mostrar como diseñar los estados en los que se pueden encontrar las células del autómata y las propiedades que se les pueden asignar a los mismos, utilizando los diferentes editores del programa.
[Leer Mas...] -
21/04/2017
Los autómatas celulares son modelos matemáticos utilizados para estudiar la evolución de sistemas dinámicos complejos, mediante la realización de simulaciones de las interacciones a lo largo del tiempo de un gran número de elementos, llamados células o celdas. En esta serie de artículos voy a presentar la aplicación WinCA, con la que se pueden construir y ejecutar este tipo de objetos.
[Leer Mas...] -
24/03/2017
Dropbox es una de las aplicaciones más populares para el intercambio y almacenamiento de archivos en la nube. En un ordenador de escritorio resulta muy sencillo utilizarlo, puesto que está integrado en el sistema de archivos y las carpetas son como cualquier otra carpeta del sistema, de modo que se pueden gestionar usando el API habitual para el manejo de archivos. Desde un dispositivo móvil, sin embargo, es necesario usar el API de Dropbox para administrar y acceder a los archivos. En este artículo voy a mostrar cómo usarlo en una aplicación PCL de Xamarin Forms.
[Leer Mas...]