Open source contributions

Since I first heard about free software back in my student days, I have always been interested in it. I am a supporter of this community and its philosophy.

As a way to give back part of what I have received, I have given some talks but more importantly I have contributed to several open-source projects as often as my research has allowed me.

Instead of simply putting a link to my GitHub account, in this section I will discuss some of the most interesting projects that I have made. For a more research-oriented view of my work, please visit the R&D section.

PT Anywhere

Packet Tracer is a network simulation tool created by Cisco. As part of the FORGE project, I developed a web version/frontend for it.

During the following articles, I will guide you through the features I developed for it:

  1. Introduction - Architecture

  2. Installation

    Technologies used: Vagrant & Ansible.

  3. Web frontend (widget).

    Technologies used: Angular JS, jQuery, vis.js, Bower & Jasmine.

  4. HTTP API.

    Technologies used: JAX-RS (Jersey), Swagger, Maven & Redis.

  5. Internal Packet Tracer API.

    Technologies used: Flask, Celery & Docker.

  6. Learning Analytics.

    Technologies used: Tin Can API (Learning Locker), Angular JS, Chart.js & vis.js.

FAQ

Why don't you write these articles in their website or in GitHub?

In short: to specifically focus on the work I did in them and in the technology I used. The GitHub projects might contain more extensive documentation but they might have also evolved since I stopped working on them or become unavailable or whatever.

Why do you include screenshoots and screencasts instead of links to web applications?

  1. I am describing the work I (me) did and they might have evolved since I stopped working on them,
  2. there are parts which are not publicly accessible or
  3. even if they are public, I cannot guarantee that they will keep like that in the future. I don't own these projects.