This is a technical blog dedicated to software development and data analysis, in it you can find articles related to these thematics and free software to download, developed by me.

09/12/2016
In this article I will continue with the integration of CLR objects into a SQL Server database by showing how to implement triggers and create userdefined data types. It is a simple way to extend the functionality of our database applications with all the power provided by the CLR of the .NET framework.
[Read More...] 
02/12/2016
In this article I will show you how you can easily extend the SQL of your SQL Server servers with functions and data types of the .NET Framework CLR (Common Language Runtime). To do this, I will implement a function with scalar return value, another function with table return value, a pair of aggregation functions and a stored procedure.
[Read More...] 
26/11/2016
WInRQA is an application dedicated to recurrence plots, a tool that is used in the analysis of recurrence of complex time series. In this article I will present the first extension of the application, which mainly consists of a series of tool windows that will help you to make estimates on what may be the most appropriate delay to try to reconstruct the phase space of the system attractor and select the correct embedding dimension.
[Read More...] 
18/11/2016
In this article I will show how, through a very simple and totally deterministic process, we can move from a stationary system to a completely random one, going through periodic and chaotic dynamics. For this, I will generate several time series with these characteristics using the program R and several packages that can help us in the analysis of them.
[Read More...] 
11/11/2016
A recurrence plot is a graphical tool used in the study of complex time series. Along with the plot we can also calculate a series of measures that allow us to perform a recurrence quantification analysis, or RQA. In this article I will present the WinRQA application, a tool to work with recurrence plots and RQA measures in a Windows environment.
[Read More...] 
01/11/2016
A stepper motor is a kind of motor that, instead of rotating continuously in one direction, allows rotate in very small steps and stop and change direction very quickly, without problems of inertia. This makes these engines very suitable for mounting them in devices which perform movements that required high precision. In this article I will show how to build a simple controller to handle one of these motors through the Arduino board, along with a sample program written in CSharp that allows you to operate the motor from the computer where the plate is connected.
[Read More...] 
28/10/2016
The correspondence analysis is a statistical technique that allows us to study relationships between categorical data through optimal scaling and orthogonal projection in two or three dimensions of contingency tables. Its implementation is relatively simple, and in this article I will show an example using the csharp language. In addition, the sample program allows you to draw simple graphics with the resulting data.
[Read More...] 
21/10/2016
The PISA database contains, in addition to the scores of students, a lot of demographic, socioeconomic and cultural data about them, collected through a series of questionnaires, that allow contextualize the academic results and make studies with a great number of variables. Most of these data are categorical, making the correspondence analysis a particularly appropriate tool to work with them. In this article I will show you how to easily perform this analysis using the ca package of the R program.
[Read More...] 
12/10/2016
To conclude this series on complex time series and their characterization using graphical tools I will show you a tool called recurrence plot, which allows to obtain some measures used in the recurrence quantification analysis, or RQA for its acronym in English. The recurrence is a characteristic property of deterministic dynamical systems, and consists of that two or more states of the system are arbitrarily close after a certain period of time.
[Read More...] 
08/10/2016
In this new article in the series on time series with complex dynamics, I will show you a procedure to approximately reconstruct the information of a dynamic system with two or more variables from a single series, i.e. a set of data in a single dimension. What we will get from this unique series is a new one for each of the extra dimensions with which we intend to extend the model.
[Read More...] 
02/10/2016
The recurrent neural networks are a very appropriate tool for modeling time series. This is a type of network architecture that implements some kind of memory and, therefore, a sense of time. This is achieved by implementing some neurons receiving as input the output of one of the hidden layers, and injecting their output again in that layer. In this article I will show a simple way to use two neural networks of this kind, the Elman and Jordan ones, using the program R.
[Read More...] 
24/09/2016
In this new article of the series dedicated to the graphic characterization of complex time series I will talk about two other graphical tools that can be useful, the power spectrum of the signal, which will be obtained through the Fourier transform, and the graph of the distribution of values of the series, a simple histogram with the frequency of the different values that also can provide us information about the series dynamics.
[Read More...] 
17/09/2016
In this new article in the series on graphic characterization of time series from dynamical systems with chaotic dynamics, I will talk about a way to represent such systems in the domain of space, independently of time, the phase diagram. With this type of diagram, you can see the attractors of the system. An attractor is a point, a curve, in general, a set of points to which converge the system equations, which gives us an idea of the typical behavior of that system.
[Read More...] 
10/09/2016
I continue the series on graphic characterization of the complexity in time series using the helper application GraphStudy. In this article I will show how to construct a graph with which you can easily distinguish whether a particular series from an iterated function presents a chaotic dynamics, the web diagram.
[Read More...] 
02/09/2016
Many of the data sets with which we usually work are in the form of time series. A time series can be seen as the evolution of a dynamic system, characterized by some variables and parameters. Depending on the type of dynamic of the system, the series may be stationary, periodic, quasiperiodic, chaotic or random. In this series of articles, I will focus on the characterization of chaotic dynamics, which is presented by complex systems, by using graphical methods.
[Read More...] 
19/08/2016
The Tableaux is a logical calculation tool that allows checking the validity of a conclusion from a series of premises. In the previous article I explained briefly the fundamentals of predicate logic Tableaux. In this article I will extend the program to the firstorder logic, which has much more expressive capacity than predicate logic, although this makes also automatic calculation more difficult.
[Read More...] 
31/07/2016
The Tableaux is a logical calculus tool that is very useful to demonstrate a conclusion from a set of premises, find counterexamples or models of a set of logical formulas or demonstrate that a formula is a tautology, i.e., that is true in all possible cases. They can be used in artificial intelligence as the basis for implementing automated theorem proving.
[Read More...] 
23/07/2016
There is a very common problem in linear programming which consists to find the values that make maximum or minimum the value of a linear function, given a number of restrictions on the values of their variables. For example, you may want to find a minimum cost or maximum production function. To do this, there is an algorithm developed in 1947 by George Dantzig, called Simplex, which allows perform such calculations in a simple and effective way.
[Read More...] 
16/07/2016
The Arduino boards, with lots of analog and digital inputs and outputs, allow us to control electronic devices from a computer through an USB interface with a very simple programming using a language similar to C. There are lots of prefabricated modules for controlling motors, relays and all kinds of sensors, but, if you like electronics, like me, you can design and connect your own analog or digital circuits.
[Read More...] 
09/07/2016
Sometimes it is necessary to print a bar code on a document or label. There are a lot of formats and encodings, in one or two dimensions, depending on the amount of information to be read by the terminal. In this article I will show three of the most common formats for onedimensional codes and provide code in csharp to encode them.
[Read More...]