# 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.

• ## Recurrent neural networks and time series

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.

• ## Complex Time Series IV, power spectrum and distribution

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.

• ## Complex Time Series III, Phase diagrams

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.

• ## Complex Time Series II, Web diagrams

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.

• ## Complex Time Series I, Basics

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.

• ## First Order Logic Tableaux

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 first-order logic, which has much more expressive capacity than predicate logic, although this makes also automatic calculation more difficult.

• ## Logical calculation with Tableaux

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.

• ## Maximize or minimize a function using the Simplex method

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.

• ## Bidirectional motor controller with Arduino

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.

• ## Printing Bar Codes

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 one-dimensional codes and provide code in csharp to encode them.

• ## Axis IP cameras with VAPIX protocol

03/07/2016

Axis is a Swedish brand, one of the world leaders in the video surveillance IP cams market, which has an extensive catalog of camera models that cover virtually any need. All its products have a common access protocol via HTTP, the VAPIX protocol, based on CGI commands, which makes it especially interesting to know.

• ## Database design tips

26/06/2016

When you design a database, you can make a series of errors or omissions that, later, can result on many headaches, or you can shelve the use of some useful resources simply because of ignorance of them. In this article I will give you a few tips that can help you to better design and management of your data and applications that manage them, especially if you are a beginner.

• ## How to copy from a DataGridView to Excel

25/06/2016

When multiple rows are selected in a DataGridView control and Ctrl+C is pressed to copy its content, the default behavior copies the cell values in plain text format separated by tabulators. Just with this you can paste the data into an Excel spreadsheet, but you can implement this behavior in a more sophisticated way, applying a custom format to the columns depending on the data type of each cell.

• ## How to build an expressions analyzer, implementation II

18/06/2016

In the previous article in this series I began to show how to implement an arithmetic expression analyzer, or parser, from the grammar rules in BNF notation, with classes which extract numbers, variables and constants. In this article I will finish the series with the implementation of the class focused in working with the main rule, which analyzes the expressions themselves. I will also provide a small sample application that draws the graph corresponding to the expression from the object generated by the compiler.

• ## How to build an expressions analyzer, implementation I

17/06/2016

In the previous article in this series I reviewed the main issues about the design of the grammar to build an analyzer, or parser, for arithmetic expressions. In this article I will show the first part of its implementation from the BNF grammar rules, converting the input expression, in the form of a text string, in a series of objects that we can use to evaluate it and give different values to the constants and variables that compose it.

• ## How to build an expressions analyzer, grammar

14/06/2016

When we are working with mathematical functions, it is very convenient to have a parser that allows us to write and perform different versions of the equations that must be processed by the program, rather than having to modify and recompile the code to adapt it to these changes each time. In this series of articles I will show how to build a simple but powerful expressions analyzer, which can be extended easily to deal with more sophisticated expressions, starting by explaining in this article the basic theory necessary to successfully face this kind of development.

• ## The PropertyGrid Control, Type converters

10/06/2016

To conclude this series on the PropertyGrid control I will show you how to use different type converters derived from the TypeConverter class to customize how they are displayed or edited the properties. The .NET framework provides converters for many types of properties, but you can also easily implement your own converters by deriving a class from TypeConverter or a specialized converter and overloading a few functions.

• ## The PropertyGrid Control, events and custom editors

04/06/2016

In the previous article in this series I did show how to use the basic features of the PropertyGrid control to edit the properties of a particular object or collection of objects. In this article I will show you the most important events of this control as well as the implementation of custom editors that allow editing of properties of types for which there is no default editor, such as the classes developed by yourself in your program.

• ## The PropertyGrid Control, basics

28/05/2016

One of the GUI (graphic user interface) controls more versatile that the .NET framework offers is the PropertyGrid. It is a component through which the user can edit all the properties of an object that the developer has configured, allowing structuring them into categories and sort them alphabetically. It also provides many options to customize both presentation and editing of their properties and shows the user a help text on each one of them. In this series I will show a complete tutorial on using this control and its main features, starting with this article on its basic use.