Utilizamos cookies propias y de terceros para mejorar nuestros servicios y mostrarle publicidad relacionada con sus preferencias mediante el análisis de sus hábitos de navegación. Si continua navegando, consideramos que acepta su uso. Puede cambiar la configuración u obtener más información aquí

View site in english Ir a la página de inicio Contacta conmigo

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.

  • 16/07/2016

    Las placas Arduino, con una gran cantidad de salidas y entradas analógicas y digitales, nos permiten controlar dispositivos electrónicos desde un ordenador a través de un interfaz USB con una programación muy sencilla utilizando un lenguaje similar al C. Existen gran cantidad de módulos prefabricados para controlar motores, relés y todo tipo de sensores, pero, si te gusta la electrónica como a mí, también puedes diseñar y conectar tus propios circuitos analógicos o digitales.

    [Leer Mas...]

    Secciones relacionadas con hardware y periféricos
  • 09/07/2016

    En algunas ocasiones, resulta necesario imprimir un código de barras en algún documento o etiqueta. Existen numerosos formatos y codificaciones, en una o dos dimensiones, dependiendo de la cantidad de información que deba ser leída por el terminal. En este artículo voy a mostrar tres de los formatos más comunes para códigos de una dimensión, así como proporcionar código en csharp para codificarlos.

    [Leer Mas...]

    Desarrollo de softwareProgramación en lenguaje csharpTrucos y consejos
  • 03/07/2016

    Axis es una marca sueca, uno de los líderes mundiales en el mercado de cámaras IP para video vigilancia, que cuenta con un extenso catálogo de modelos de cámara que permiten cubrir prácticamente cualquier necesidad. Todos sus productos cuentan con un protocolo de acceso común vía HTTP, el protocolo VAPIX, basado en comandos CGI, lo que hace especialmente interesante conocerlo.

    [Leer Mas...]

    Secciones relacionadas con hardware y periféricosCámaras IP
  • 26/06/2016

    Cuando se diseña una base de datos, se pueden cometer una serie de errores u olvidos que, posteriormente, nos pueden causar bastantes quebraderos de cabeza, o se puede dejar de utilizar algún recurso útil simplemente por desconocimiento. En este artículo os daré una serie de consejos que os pueden ayudar a diseñar y gestionar mejor vuestros datos y las aplicaciones que los manejan, sobre todo si sois principiantes.

    [Leer Mas...]

    Vista de secciones relacionadas con bases de datosDiseño y acceso a los datosTrucos y consejos
  • 25/06/2016

    Cuando se seleccionan varias filas en un control DataGridView y se pulsa Ctrl+C para copiar su contenido, el comportamiento por defecto copia los valores de las celdas en formato de texto plano separado por tabuladores. Con esto solo ya se pueden pegar los datos en una hoja Excel, pero podemos implementar este comportamiento de una forma más sofisticada de manera que apliquemos un formato personalizado a las columnas en función del tipo de los datos de cada celda.

    [Leer Mas...]

    Desarrollo de softwareProgramación en lenguaje csharpTrucos y consejos
  • 18/06/2016

    En el anterior artículo de la serie comencé a mostrar cómo implementar un analizador de expresiones aritméticas o parser a partir de las reglas de la gramática en notación BNF, con las clases encargadas de extraer los números, variables y constantes. En este artículo voy a terminar la serie con la clase encargada de analizar la regla principal, que analiza las expresiones en sí. También mostraré una pequeña aplicación de ejemplo que dibuja la gráfica correspondiente a la expresión a partir del objeto generado por el compilador.

    [Leer Mas...]

    Desarrollo de softwareProgramación en lenguaje csharpMatemáticas
  • 17/06/2016

    En el artículo anterior de esta serie hice un repaso de las principales cuestiones acerca del diseño de la gramática para construir un analizador o parser para expresiones aritméticas. En este artículo voy a mostrar la primera parte de su implementación a partir de las reglas BNF de la gramática, convirtiendo la expresión de entrada, en forma de cadena de texto, en una serie de objetos que podremos utilizar para evaluarla, pudiendo dar diferentes valores a las constantes y variables que la componen.

    [Leer Mas...]

    Desarrollo de softwareProgramación en lenguaje csharpMatemáticas
  • 14/06/2016

    Cuando estamos trabajando con funciones matemáticas, resulta muy conveniente disponer de un parser, o analizador de expresiones, que nos permita escribir e interpretar diferentes versiones de las ecuaciones que deben ser procesadas por el programa, en lugar de tener que modificar y recompilar el código para adaptarlo a dichos cambios cada vez. En esta serie de artículos voy a mostrar cómo construir un sencillo pero potente analizador, que puede ser extendido fácilmente para tratar con expresiones más sofisticadas, empezando por definir en este artículo la teoría básica necesaria para encarar con éxito este tipo de desarrollos.

    [Leer Mas...]

    Desarrollo de softwareProgramación en lenguaje csharpMatemáticas
  • 10/06/2016

    Para terminar esta serie sobre el control PropertyGrid vamos a ver cómo utilizar los diferentes conversores de tipo derivados de la clase TypeConverter para personalizar la forma en que se muestran o editan las propiedades. El .NET framework proporciona conversores para bastantes tipos de propiedades, pero, además, podemos implementar fácilmente nuestros propios conversores, derivando una clase de TypeConverter o de algún conversor especializado y sobrecargando unas pocas funciones.

    [Leer Mas...]

    Desarrollo de softwareProgramación en lenguaje csharp
  • 04/06/2016

    En el anterior artículo de la serie vimos cómo utilizar las funcionalidades básicas del control PropertyGrid para editar las propiedades de un determinado objeto o colección de objetos. En este artículo os voy a mostrar los eventos más importantes de este control, así como la implementación de editores personalizados que permiten la edición de propiedades de tipos para los que no existe un editor por defecto, como pueden ser las clases desarrolladas por nosotros mismos en nuestro programa.

    [Leer Mas...]

    Desarrollo de softwareProgramación en lenguaje csharp
  • 28/05/2016

    Uno de los controles del GUI (interfaz gráfico de usuario) más versátiles que nos ofrece la plataforma .NET es el control PropertyGrid. Se trata de un componente mediante el cual el usuario puede editar todas las propiedades de un determinado objeto que el desarrollador haya configurado para ello, permitiendo estructurarlas en categorías y ordenarlas por orden alfabético. Además, proporciona muchas opciones para personalizar tanto la presentación como la edición de las propiedades y muestra al usuario un texto de ayuda sobre cada una de ellas. En esta serie vamos a ver un tutorial completo sobre el uso de este control y sus características principales, empezando por este artículo sobre su uso básico.

    [Leer Mas...]

    Desarrollo de softwareProgramación en lenguaje csharp
  • 14/05/2016

    Muchas de las cámaras IP de red que podemos encontrar en el mercado utilizan el protocolo NetWave, basado en comandos CGI, para obtener las imágenes de vídeo a través de un servidor http interno. En este artículo vamos a ver cómo construir una sencilla aplicación para controlar este tipo de cámaras, que se utilizan normalmente para labores de vigilancia y pueden realizar movimientos de barrido además de proporcionar imágenes de vídeo.

    [Leer Mas...]

    Secciones relacionadas con hardware y periféricosCámaras IP
  • 05/05/2016

    En el artículo anterior de la serie hice un resumen de los elementos básicos de DirectShow: filtros, grafos de filtros y pines para conectar los elementos entre sí, y como podemos identificarlos utilizando la herramienta del SDK GraphEdit. En este artículo voy a mostrar cómo construir una “sencilla” aplicación de captura y reproducción de vídeo utilizando los interfaces que proporciona DirectShow, un subconjunto del modelo de objetos distribuidos de la plataforma COM de Microsoft.

    [Leer Mas...]

    Secciones relacionadas con hardware y periféricosArtículos relacionados con la programación con Microsoft DirectShow
  • 30/04/2016

    Actualmente existen infinidad de dispositivos de captura de vídeo asequibles en el mercado, cualquiera puede hacerse con una cámara digital o una webcam a un precio razonable. Todos estos dispositivos se pueden controlar fácilmente desde un programa desarrollado por nosotros mismos utilizando DirectShow de Microsoft. DirectShow es un conjunto de interfaces que proporcionan un API genérico con el que se puede capturar y reproducir audio y vídeo sin importar la marca o modelo de cámara que utilicemos. También permite la grabación y reproducción de archivos en cualquier formato.

    [Leer Mas...]

    Secciones relacionadas con hardware y periféricosArtículos relacionados con la programación con Microsoft DirectShow
  • 24/04/2016

    En muchas aplicaciones es necesario generar números aleatorios. Para esto, la plataforma .NET proporciona la clase Random, que permite generar valores pseudoaleatorios uniformemente distribuidos, lo que significa que todos los números tienen la misma probabilidad de aparecer en el resultado. Pero en algunos casos necesitamos generar valores aleatorios que sigan otros tipos diferentes de distribución. En este artículo vamos a ver cómo generar números aleatorios que sigan una distribución normal, con un sistema que podéis extender a cualquier tipo de distribución.

    [Leer Mas...]

    Desarrollo de softwareProgramación en lenguaje csharpMatemáticas
  • 09/04/2016

    Usualmente, cuando realizamos un análisis de datos, consideramos que proceden de una distribución normal. De hecho, realizamos toda una batería de pruebas para verificar que se cumple este supuesto y, en caso de no ser así, tratamos de modificar los datos de manera que se cumpla. Esto es así porque la mayoría de las técnicas de análisis solo funcionan correctamente sobre datos normalmente distribuidos. Pero existen una serie de sistemas que presentan una dinámica compleja en los cuales no es válido aplicar esta hipótesis y en los que el ajuste de los datos solo conduce a distorsiones que invalidan los resultados.

    [Leer Mas...]

    Vista de secciones relacionadas con el análisis de datos
  • 02/04/2016

    Las vistas del catálogo contienen toda la información referente a la estructura de nuestras bases de datos: esquemas, tablas, campos de las tablas, tipos de datos de los campos, restricciones de integridad, código de los procedimientos almacenados, etc. Conocerlas es fundamental para desarrollar herramientas de gestión independientes de nuestra estructura de datos. En este artículo vamos a ver un ejemplo de una de estas herramientas, DbTextFinder, una sencilla aplicación que nos permitirá buscar texto en los registros de nuestra base de datos y dentro del código de las vistas y procedimientos almacenados.

    [Leer Mas...]

    Secciones relacionadas con la descarga de software y archivosDescargas de aplicacionesHerramientas para bases de datos
  • 12/03/2016

    En el anterior artículo de esta serie vimos cómo realizar el cálculo de errores estándar con pesos replicados en la base de datos PISA, en este artículo haremos un pequeño resumen de uno de los puntos más polémicos de estos estudios, el complejo sistema de puntuaciones implementado.

    [Leer Mas...]

    Vista de secciones relacionadas con el análisis de datosSecciones relacionadas con el programa RBase dee datos de PISA
  • 28/02/2016

    En el anterior artículo de esta serie vimos una introducción al análisis de datos PISA, con unos ejemplos de funciones en código R para realizar muestreos, y hablamos de los pesos muestrales, que ponderan a cada uno de los alumnos de manera que represente a un conjunto de individuos con las mismas características en lugar de a un solo alumno (no olvidemos que PISA pretende evaluar el efecto de las políticas educativas sobre el conjunto de la población del país, no sobre alumnos individuales). En el presente artículo, veremos cómo utilizar estos pesos a la hora de obtener estadísticos a partir de las muestras y veremos también como calcular los errores típicos de estos estadísticos utilizando pesos replicados.

    [Leer Mas...]

    Vista de secciones relacionadas con el análisis de datosSecciones relacionadas con el programa RBase dee datos de PISA
  • 19/02/2016

    Cada tres años, desde el año 2000, la OCDE (Organización para la Cooperación y Desarrollo Económico) realiza una serie de exámenes a nivel nacional en una serie de países a alumnos de 15 años para evaluar el grado de conocimientos en tres grupos principales de materias: ciencias, comprensión lectora y matemáticas. Se trata del programa PISA, cuya última edición se realizó en el año 2015.

    [Leer Mas...]

    Vista de secciones relacionadas con el análisis de datosSecciones relacionadas con el programa RBase dee datos de PISA
1 2 3 4