Posts

Creando un paquete para Debian, con sus dolores de cabeza

Esta entrada va a ser breve. Trata sobre una vivencia no tan agradable creando un paquete para Debian. En mi trabajo he empaquetado varios proyectos para Debian y esta semana trate de hacerlo para un proyecto basado en QT. Como ya había empaquetado otros proyectos de QT descargue uno de ellos para copiar/pegar parte del contenido del directorio debian/ . Al momento de ejecutar el comando  debuild -b -uc -us me falla durante la ejecución del helper dh_install . Esto es puesto que el helper ejecuta un binario que se había acabado de compilar.  Despues de mucho buscar en Internet me encuentro con este comentario . Básicamente si los ficheros debian/dirs y debian/install son ejecutables el helper dh_install los va a ejecutar y adivinen cual era la primera linea de debian/install : el binario que se compilo como parte del paquete. Y resulta que este fichero al descargarlo de internet el SO por alguna razón le puso este bit. La documentación del helper dh_install da id...

My take on Time Series Database requirements

Some time ago, doing some research related to my current work, i stumble upon this excellent article by Baron Schwartz on the topic of Time Series Database requirements. This article is in my opinion the best thing on my reading list for that subject and in this post i will try to expose my own take on this matter building on top of it. Definition of Data Type Baron identify series using two elements: source identifier and metric identifier. I have seem this used on existing products, but from my perspective this is needed for organization purposes and not for series identification. For me the only hard requirement on this matter is that series can be uniquely identified. Therefore a single series identifier is sufficient. You can always provide organization using some kind of namespacing over identifiers (consider the following identifiers “source1.metric1” and “source1.metric2”) or using an independent component to build the relations between series and other elements (groups, a...

Mi aproximación al diseño de APIs RESTful

El diseño de APIs siguiendo el estilo arquitectónico REST es tema de debate constante en la red. Existen innumerables publicaciones sobre el tema tanto post personales como artículos respaldados por organizaciones. Separar la paja del grano en este tema es difícil dado que la fuente canónica de información son documentos académicos. Me encantaría leer algo mas aterrizado a la práctica del mismo Roy Fielding pero respeto su compromiso con la comunidad y su incansable trabajo en los procesos de estandarización. En este post voy a compartir con ustedes mi propia aproximación al problema. La parte en negritas sería la descripción necesaria de la API. El caso de estudio para este post será la clásica aplicación de Cosas Por Hacer . Lo primero es modelar el recurso Cosa Por Hacer o Todo como se le conoce en Ingles. Aquí vamos a asumir que es algo tan simple como que tiene 2 atributos: el titulo y la bandera de completado. Lo segundo sería identificar las acciones y el posible flujo de...

Concurrent Alarms Processing

Currently I am working on a development project of a Control System and am faced with the task of massive event processing of measurements for signaling alarm conditions (alarms that are activated when a certain value becomes above or below a certain level, etc.). This control system notifies the alarm processing component each of the measured variables (tags) and the component ​​must update the state machine of each of the alarms set in the control system. The problem I face is that we want the system as a whole to be scalable (we need to resize depending on the load to which it is submitted) and therefore in some scenarios the number of notifications to the component of alarm processing is such that exceeds its handling capacity so it is impossible for a single computing entity (task or process) of performing real-time processing. Given this scenario, I raised the possibility of horizontally scale the alarms processing component. But the problem of scaling alarm  proce...