But… have you patented it?

Software developers do not normally have to worry about protecting their creations, either because they work for a company where other people are responsible for that or because they program with open code mentality, share their work on GitHub and don’t mind if other people use it. However, the time might come when we want to protect a program so that we can commercialise it later. In this post, I’ll briefly explain what the law says about the protection of software and the steps to be taken to avoid anyone taking advantage of our intangible property.

Continue reading “But… have you patented it?”

Good practices in data mining

In reality, the first thing we need to do is to define the terms correctly. For the purpose of this post, and as not even Wikipedia seems able to clear up the uncertainty, I’m going to define good practices as the set of rules and actions established in accordance with the analysis of a large number of examples of success and failure and which appear to be the common factors in successful cases and are usually absent in the failures.

Continue reading “Good practices in data mining”

Recognition of emotions with AI

Robots today simply act and react according to the perceptions they obtain of their surroundings. We are currently able to interact with them by speaking, by gestures and through the use of peripherals like a keyboard and a mouse. Yet, is a robot able to detect people’s emotions accurately? This is a form of interaction that is intrinsic and intuitive for people, but that is not the case in the world of robotics. Thanks to algorithms for detecting characteristic facial feature points (Cootes and Taylor, 2004), we can train statistical models (Sohail and Bhattacharva, 2006) that, based on the distance between those points, are able to classify the emotional state of a person from a picture of his or her face.

Continue reading “Recognition of emotions with AI”

The importance of controlling versions

A version controller is a system allowing us to keep track of the modifications made to a file over time. It is normally used in software development environments, but can also be extremely useful for anyone who needs a robust control over the task being performed. Most people use a version control system without being aware of it. The clearest example is when we edit any type of file in storage services in the “cloud”, such as Google Drive or Dropbox.

Continue reading “The importance of controlling versions”