Neubot report: January - March 2015
Greetings! Many things have happened in the last three months. Libight development, the NNTools2015 workshop, a CAPS proposal on making network measurements more accessible to (and understandable by) people, work to rationalize and reorganize Neubot code, progress in implementing the uTP Neubot experiment, and prototype code to import and process Neubot data. Read on for further details!
Libight. Development on libight focused on implementing the functionality needed by an iOS application based on libight. To this end, 29 pull requests have been merged, ranging from bug and reliability fixes to specific changes needed to compile libight on iOS. We also created two new repositories: libight-build-ios, used to cross-compile libight for iOS under MacOSX systems, and libight_ios, a prototype application for iOS. People involved in this were, apart from me, Arturo, Alessandro, Lorenzo, Alessio and Antonio. I also participated to the last two days of the Tor dev winter meeting, in which I teamed up with other OONI developers to do some hacking. There I started to study and merge network measurement code to run traceroutes contributed to us by the guys of the Portolan project (University of Pisa). The dev meeting was held in Valencia. The Saturday after the meeting I had some free time to walk through the City of Arts and Sciences, reflect and take pictures.
NNTools2015. In January we held at Nexa a workshop, called NNTools2015, in which we invited people working on network measurements tools and people working on telecommunication policy to discuss ways to increase joint work by tools developers and within different communities. We are currently working to a paper summarizing up the conclusion of the workshop, which we aim to submit to the Internet Policy Review journal.
CAPS proposal. We are also currently working to submit a CAPS proposal, which will focus on making network measurements more accessible to (and understandable by) people and to incorporate into such tools also measurements that people care about. Among the thing we would like to do, in this respect, there is the idea of preparing an online course explaining (in a pop way, not in the traditional academic way!) what network measurements do and why they matter. The idea to do this came out in a discussion with a brilliant Politecnico di Torino student who attended NNTools2015, Mattia. Below, you find a video of me discussing the concept of our proposal during the Paris CAPS Info Day back in February.
Neubot server and www. Speaking of Neubot proper, I made some progresses towards deciding the future structure of the software project. Here I have to thank for insightful discussions and suggestions Alessio, Filippo and Mattia. Specifically, I realized that the simplest way to start reorganizing that mess that Neubot has become during my doctorate is to split the client and the server component such that a new server release could be make without touching the client and viceversa. So, I forked a server repository and started removing client components from it, polishing and reorganizing the code a bit in the process. This makes me confident that we can have a new server release soon. I also forked a www repository for the same purpose, and started working on it to make the web interface independent of the client code. I plan to keep this web interface, well, on the web, rather than distributing it along with Neubot, so that new releases can be made independently on the client.
Neubot libight-based uTP test. Alessandro, instead, focused on the uTP experiment for libight, which is going to be the first Neubot experiment powered by libight. We reached the point in which the code compiles and is good enough to be published on github. We will continue the development publicly until it is ready to be merged into the main libight repository.
Neubot pipeline. To conclude, I have also sketched up a pipeline for importing Neubot data from M-Lab servers and processing it using MongoDB. This pipeline is actually based on the similar-purpose pipeline developed by the OONI project. This work is still in beta, and is currently on hold because I'm very much involved into drafting the CAPS proposal, but I am confident that, once ready, this will help people to play with Neubot data.