In English

Contents in English

Are you moonlighting?

A few weeks ago I finally had my dissertation (PhD) defence. Below you can see the shown slides (in Catalan), trying to touch in around 3/4 hour many of the different involved works.

One of the mentioned topics was protein moonlighting (or multitasking), that is, the property that some protein molecules may have additional functions or roles apart from the one that is primarily annotated or known. As example, the group in which I worked during my PhD studies is actually keeping an exhaustive list of these cases.

This usage can be considered as a kind of metaphor of the original moonlighting term. As it can be read in Urban Dictionary, it refers to the fact of having an additional job, normally during moonlit hours (at night).

For a non-native English speaker it's always hard to know how popular certain words or expressions are. It was funny to learn that at least this word seemed to exist already during the 1970s in the USA. However, as we can see during a conversation of the main character of Taxi Driver, not all people may have been fully familiar with it.

Using Neo4j with NCBI taxonomy and Gene Ontology datasets

Around one year and a half ago I started some testing with graph databases (Neo4j so far) and I used Gene Ontology and NCBI taxonomy datasets as sample cases. I explained my experience in this presentation by February 2015:

After a while, I finally found time to update my importing scripts and API Java extension so they could work with newer versions of Neo4J and Py2neo (2.2.3 and 2.0.7 at the time of writing).

Regarding Py2neo, I noticed that Neo4j REST API seems to rely more explicitly on Cypher queries that it did in the past. With the help of this article about multiprocessing in Python and Py2neo, and after several tries, I managed to get importing work within acceptable time.

As final tips, if you plan to use similar approaches with your own data, I would suggest to create nodes and populate their properties at the same time (keeping data in memory if necessary). I also noticed that trying to create relationships with multiple parallel processes fails, so keep only one worker for these steps.

Authentication with Persona and MySQL in an Express application

Since its beginning I liked Persona (also known as BrowserID), because it:

  • technically supports a more decentralised Internet
  • makes authentication easier for users

Shame on me, only just a few weeks ago I found time to play with this. As a proof of concept, I prepared an Express application that connects to MySQL so I could have a better understanding about how this authentication system actually works in practice (from a developer point of view).

Migrating a ratings MediaWiki extension data with Python lp_solve script

For long time Softcatalà wiki used a MediaWiki AJAX rating extension, so we could have a rough idea of visitors feedback on the different applications we list in our software repository. Recently I migrated that wiki to a newer version, so before I had reviewed which extensions to use: basically I checked whether there was any update to the current MediaWiki version for every installed extension.

We are starting to live RESTful times in Biosciences

It's a long time since Molecular Biology data (from sequence strings to protein structural coordinates) are being released openly to the public, as it's the Web an interface for exploring and visualizing those data. Indeed, my first approaches to Bioinformatics and to, more or less, serious programing were preparing CGI points to command-line applications or to results of analysed data.

Getting started with the offline-aware web

Last Thursday, during March edition of monthly Barcelona Web professionals meeting (webcatbcn), I presented my recent experiences with offline-aware web technologies such as localStorage and appcache, which I just learnt by improving Softcatalà mobile translator.

Modifying MediaWiki user preferences at once

Since long time ago, it's possible to change default user preferences in MediaWiki by simply adding a line of code in LocalSettings.php. Example:
$wgDefaultUserOptions['editsection'] = 0;
However, if the wiki is not new, there could be already several users who will have inherited previous default preferences before any change is performed in LocalSettings.php.
In order to solve this, in recent MediaWiki versions there is a maintenance script for changing a user preference value for all users in the wiki.
Nonetheless, in my case, I did not want to change the preference value for all users, but only for those ones belonging to a certain group. Of course, more complex filtering criteria could be devised…
For anyone who might need it, the code (in Perl) I used below:

Towards participatory l10n through events

A few weeks ago, Softcatalà (a non-profit organization devoted to bringing Internet and new technologies to Catalan speaking community in their own language) held its first open localisation session at Sagrada Família Civic Center. Our main aim was to offer to attendees the opportunity to know more closely the tools and criteria in our localisation processes and, ideally, also engage more volunteers to join our ongoing projects and share our values with them.

Move Commons

Move Commons Softcatalà

As Barcelona Laptop Orchestra, another nice initiative present in Angels Hacking space during Drumbeat Festival was Move Commons.

Following the graphical model of Creative Commons logos, it pretends to categorise the principles behind organisations in order to provide a simplified description of them, make them visible to other organisations of similar approaches and also attract contributors who could be interested in their activities. With Move Commons, they can currently state whether they are:

  • for profit or non-profit
  • transparent or closed
  • contributors to the Commons
  • horizontal or hierarchical structured
  • etc. (more details here).

As with Creative Commons, after filling the appropriate fields asking for the characteristics of the organisation, they can paste in their pages a FOAF-like code, which could potentially be used for performing searches over the Net in the future.

The only drawback I can imagine is that organisations, or individuals in their organisations, might not be always sincere (or even aware) about their actual values. So, I think the challenge is that the details of organisations we could find in the Internet thanks to this system can be faithful enough about them, that is, not susceptible to purposeful or unintentional misleads —a fact that can entail frustration for arriving contributors—.

This is far more difficult than choosing one of the different CC licenses for a work, and IMHO, several actors should take part somehow in the dynamic outcome.

Barcelona Laptop Orchestra session during Drumbeat Festival 2010

Last week I enjoyed the chance to discover a laptop orchestra for my first time during Drumbeat Festival 2010, which took place in the centric Plaça dels Àngels of Barcelona.

The orchestra, named Barcelona Laptop Orchestra and mostly composed of members from ESMUC (Catalonia Higher School of Music), was arranged thanks to several laptops network-linked to each other and all of them set to output to a pair of loudspeakers at the same time.

Sounds actually flowed along the network and were differentially modulated in each computer thanks to a complex in-house sampler software designed so a live network-based symphony could become a reality.

You can see some images and videos below:

The software behind the orchestra laptops

Control panel software of BCN Laptop Orchestra

Latops are network linked


Some live laptop music

More information…


Subscribe to RSS - In English