Month: February 2016

Some notes on IP

Here are some notes on Intellectual Property management. These are personal findings, and may be (probably are) incomplete. They have a special focus on  researchers and their host institutions.


Should you wish to register your brand, you must be aware that doing so is NOT ensuring that the product’s name is somehow protected. The company name is not in any way connected to the product’s name. Quick example: there are lots of coffee shops in Portugal named “Café Central”.

Brands are territorial, meaning that their registry is often restricted to the issuing country. If you wish to protect a specific brand with additional geographic coverage, you should proceed to register it in the different countries you wish to include.

When judging cases related to two companies disputing the same name, courts often analyse the similarity between the two businesses: if a potential user can, for some reason, get confused about the two products/services, then the court will probably find it conflicting. If  otherwise there is a no proximity, the case can be easily discarded and archived.


When considering research publications/work, copyright management is pretty much similar to what’s done with literary pieces. This means, for instance, that copying and pasting source code is actually and infringement of the copyrights agreement. The necessary amount of code necessary to be considered infringement is variable and is often debated on court.

GPL does not allow registering patents based on open-source code.

If any compensation (salary for instance) exists, then there is also a bond to the company that restricts the ownership. In the case of research institutions / scholarships, the institution often has a signed agreement stating that the researcher transfers his rights to the host institution.


Registering design only protects the interface. It does not cover interactivity or any other form of communication. This protection lasts up to 25 years, after which the bond is removed.

The design must be new. (this doesn’t happen with brand, for instance)


Also territorial, patents last up to 20 years (maybe can be adjusted later).

Patents are a negative right – they allow us to prevent others from copying. They do not yield any further rights.

Patents can be used as a market prospection. Having your patent approved means that a qualified person or group hasn’t been able to find any similar project in the market. Otherwise, the patent would not be approved.

Indicators: must be unexpected, innovative, not obvious. This is quite simple, yet poses lots of challenges when dealing with the committee. It is very frequent to find patent requests that were rejected due to a publication stating that “it is simple to apply this procedure”, or “it is easily applied to other scenarios”….

In some countries, not identifying the true author is a quick way to get the patent cancelled. Although it is common for institutions to sign patents based on their researcher’s work, they must also be mentioned.

On the other side, if the researcher submits the patent with his name, he must notify the company of such action. Failing to do so will enable the company to sue the researcher and cancel the patent.

The rule of “whats created at work is for the company, whats created at home is form me” is often misinterpreted. All the work developed under a company’s contract is obviously subjected to the company’s rules on intellectual property. Even if the researcher had the idea outside working hours, at home, some courts may judge in favor of the company. Issues with used material, facilities or knowledge are very arguable.

In the particular case of Portugal, the law states that there must be an appropriate compensation for the researcher’s findings. We will leave that to your judging.

NDA: non disclosure agreements only protect communication, they have no value in the field of patent claiming, or any other issues whatsoever.


Google patents – useful to search along diverse sources


Espacenet: patent search engine

Fetching a JSON file from an URL (Java Code Snippet)


Backing up huge logs

Log files were getting huge (12GB’s and up) on the production machine, so I decided to compress them and clean them up.

Until I learn how to use logrotate, I am doing it in a simpler way. Here is the script for later reference.





TypeScript experiments

We are trying out a new language, TypeScript. Basically, it is an intermediate language that gives JavaScript strong types, among other interesting stuff. It is aligned with the future specification of ECMAScript 6.

I am following this tutorial, which aims to build a chat server using TypeScript and WebSockets.


Installing TypeScript and Node (Mac OS X)

Fixing Webstorm debugger

Add the following line to the WebStorm/Contents/bin/webstorm.vmoptions file (Show Package Contents in Webstorm App)

Otherwise it may crash on debugging.

Configuring WebStorm IDEA for TS Development

The built-in TS transpiler of Webstorm IDEA is old and does not work. Need to configure it to use the new transpiler:

In my machine, it was installed into this folder:

Set up the path to the TS transpiler in the Webstorm Preferences (Cmd+,) as shown below

 Screen Shot 2016-02-19 at 02.27.36

Set path to Node Interpreter

Path to compiler

Screen Shot 2016-02-19 at 02.27.42

Scope has to be the entire module (name of your WebStorm project) so that the transpiler monitors the whole project for changes.

Command line options:

Create new Run configuration

The main Javascript File will be the equivalent of the “app.js” file for a NodeJS Express App, but generated by TypeScript this time. Select it in this window, as well as the path to the Node interpreter.

Screen Shot 2016-02-19 at 02.32.08


Happy development using a proper debugger 🙂

Screen Shot 2016-02-19 at 02.28.14