Neubot report: July - September 2015

Most hacking during these three months period concentrated on MeasurementKit (mainly pre-release cleanups) and NetworkMeter. This is a rather technical post. But, before entering into the details of the merged pull requests, here's some details for humans. I had a great summer vacation time, spanning three weeks all along August, in my home city (Bordighera) and nearby cities (such as Ventimiglia). Of course I never went to the sea, but spent lots of time with friends and dedicated the nights (after 2:00 AM) to hacking. The following photo shows the harbor of Bordighera from a small nearby hill (and reminds me of one famous picture by Monet also authored in Bordighera).

A view from Bordighera

A view from Bordighera —Picture by me (CC BY 3.0)

Having said of my vacations, let's go back to business. The following MeasurementKit pull requests were merged:

  1. Teach connection to use custom poller
  2. Register test complete callback along with test
  3. Big rename from libight to measurement_kit

Neubot report: April - June 2015


Greetings from the Hacker Standard Time timezone! The greatest change in the April - June 2015 period is that the library that I previously called libight was renamed and now is called measurement-kit. In addition the repository was moved from TheTorProject organization to another organization, called measurement-kit.

In addition to changing names, we did progresses towards releasing the first version of measurement-kit along with the sample applications. The iOS application, in particular, is nearly ready (thanks to Lorenzo Primiterra for helping with that). The Android application instead is not as ready; its code in fact has not been committed to GitHub yet, as we are still working offline.

Among all the measurement-kit changes a notable change was that I coded support for running traceroutes on Android by customizing code contributed by the Portolan project. This was done during a two days of hacking in Pisa, side by side with Valerio Luconi, one the authors of Portolan.

Lungarno in Pisa    Lungarno in Pisa

Lungarno in Pisa—Pictures by me (CC BY 3.0)

I have also started contributing to network-meter, a shell for running network measurement tools (e.g. Neubot, OONI) and for visualizing their results. This effort is spearheaded by Poly, a OONI volunteer. Also network-meter is on GitHub under the umbrella of the measurement-kit organization.

Filippo Michielon did a mockup of the new Neubot web interface written using Angular.js and D3.js. This could be a good basis for rewriting the web interface with more modern and less-custom tools.


[ITA] Presentazione Neubot all'evento Digital Championship di Torino


Il 23 Aprile scorso ho presentato Neubot durante l'evento Digital Championship di Turin. In effetti io non sono un Digital Champions e originariamente infatti avevano invitato a parlare di Neubot Federico Morando che e' il Digital Champion di Novi Ligure. Tuttavia lui non c'era, cosi' alla fine sono andato io.

Durante la mia presentazione ho descritto la storia di Neubot (il focus sulla neutralita' della rete, gli obiettivi di ricerca) e ho parlato degli obiettivi futuri (misure su mobile, empowerment degli utenti via corsi e altri materiale online, scrittura di esperimenti che tengono conto di cio' che e' importante con gli utenti). Qua di seguito il video, che parte proprio nel momento in cui inizio a parlare:

Non ho preso un voto altissimo, ma a fine manifestazione un po' di persone mi hanno comunque fatto i complimenti per il progetto. E' stato anche interessante lo scambio che ho avuto con Marco Boglione (verso la fine del mio intervento) a proposito di open source e modelli di business.

Osservo come al solito con soddisfazione che il tempo che intercorre tra la decisione di postare sul blog di Neubot e il momento in cui posto e' sempre maggiore di due settimane. Alla prossima!


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.

City of Arts and Sciences - Valencia    City of Arts and Sciences - Valencia

City of Arts and Sciences - Valencia    City of Arts and Sciences - Valencia

City of Arts and Sciences (Valencia)—Pictures by me (CC BY 3.0)

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.

/me speaking at CAPS Info Day (Paris)—Video by Lorenzo (CC BY 3.0)

Neubot server and www. Speaking of Neubot proper, I made some progresses towards deciding the future structure of the software project.


Neubot report: October - December 2014

@bassosimoneMerry Neubot

Most of the development work in the last three months focused on libight, a library for running network experiments on the mobile platform developed in cooperation with Arturo Filastò (Tor Project / Hermes Center). This library is developed to implement the mobile applications of Neubot and OONI.

I worked on libight during the 8-14 December hackfest in Rome in which we have implemented the basic library functionality (stream sockets, DNS and HTTP). We have now three prototypal OONI tests (DNS injection, TCP connect and HTTP invalid request line) that produce a YAML file as result. And we have sketched up a plan for version of libight.

Colosseum by night
Colosseum by night—Picture by me (CC BY 3.0)

Meanwhile, Alessandro has been working to implement a utp engine for libight. Once libight is stable and the utp engine is merged, the plan is to implement a utp test for Neubot using libight. Probably, given the work to run Neubot tests as independent processes (see below), this will be implementing by packaging an executable linking libight with Neubot.

I was also invited at the 3rd Workshop on Internet Censorship Measurements—organized by Meredith Whittaker of M-Lab and held in New York City the 29-30 October 2014—to discuss issues at the intersection between traffic shaping and Internet censorship.

New York City seen from Central Park
New York City seen from Central Park—Picture by me (CC BY 3.0)

I have also worked on the draft of the journal paper describing Neubot, integrating changes proposed by Juan Carlos and further polishing and refining the text.


Neubot update 2014 Q3


So, here's an update concerning our work on Neubot in the last few months.

I finished editing my doctoral thesis on Neubot, the final version of which was delivered to Politecnico di Torino on July 18, 2014. We are currently working on a journal paper partly based on such thesis. Considering the typical rules of the publication industry, it is safer to publish my thesis on this website only after we're done with the journal paper.

I presented my doctoral thesis in Nexa Wednesday #66 (the discussion was all held in Italian, see below for the video).

After my thesis was complete, @demartin and I spent a lot of time working on the above-mentioned journal paper that, by the way, is codenamed "Neubot, the full story." At the end of the quarter, the paper's draft was complete and we were further revising and polishing it. We look forward to submit it by the end of the year.

Regarding development, I opened two development branches.


A new, old visualization of Neubot data

Academic paper@bassosimone

My coauthors, and friends, Enrico Masala and Antonio Servetti wrote a nice service that shows useful Neubot statistics, updated daily.

I call their service "a new, old visualization" because they wrote it in the fall of 2013, and I was very slow to catch up, sorry :).

With this post I just want to say them thank you publicly.

Because I find it very useful, I listed their service also in the Data section of this website.

Here you can see a couple of screenshots of this service (from which one can also have an idea of the number of tests run daily by Neubot):


New Publication on Neuviz for the "Mondo Digitale" journal

@giuseppe_futiaAcademic paper

With this blog post I am pleased to announce that the paper entitled "The NeuViz Data Visualization Tool for Visualizing Internet-Measurements Data" has been published on "Mondo Digitale", the official journal of AICA - Associazione Italiana per l'Informatica ed il Calcolo Automatico.

In the paper, written by Enrico Zimuel, Simone Basso, Juan Carlos De Martin, and me, we describe NeuViz (Neubot Visualizer), an architecture to analyze and visualize Neubot data to identify cases (to be investigated with more specific tests) in which a protocol seems discriminated.


NeuViz presentation: one of the best of 2013 for Visualoop

@giuseppe_futia, one of the most popular websites on information design and data visualization, listed the Congresso AICA 2013 NeuViz presentation among the "the most useful [data visualization] resources [made] available" on SlideShare, Scribd, and similar services since April 2013.

We are very proud that our slides have been listed together with the presentations of Alberto Cairo, Nathan Yau, and Andy Kirk, who are some of the leading international experts in data visualization.


From Big Dive to Twisted

@giuseppe_futiaBig Dive 2 logo

In June 2013 I attended the Big Dive training program, organized by the Top-IX Consortium, that aims to “boost the technical skills needed to dive into the big data universe and to extract value”.

During the course I learnt: TurboGears, a framework for developing Web applications; MongoDB, a NoSQL data storage solution; the basics of network science and statistics. Also I studied MapReduce techniques and improved my data visualization skills, by learning the D3.js JavaScript library.

This wealth of knowledge has been crucial to realize with Enrico Zimuel the Big Dive final project (entitled "Gramsci devoted"), in which we developed in a few days a prototype of a Web visualization tool to explore the network measurement experiments performed by Neubot.

Here are the photos taken during the course and the final presentation:

Within the Big Dive final project I was initially involved in the front-end development of the Web interface. Once I finished the course, in the second work phase on our prototype I studied Twisted, an “event-driven networking engine written in Python”, and implemented the prototype code to create a REST API module to retrieve Neubot data, which can be exploited by other applications, as well as from our Web interface.

As explained in a previous post, the Big Dive experience led to the development of NeuViz, a prototype data processing and visualization framework to explore network measurement experiments, and to the publication entitled "Visualizing Internet-Measurements Data for Research Purposes: the NeuViz Data Visualization Tool", in occasion of the 2013 AICA Congress.

The slides of the Big Dive final project are available on Slide Share.



Subscribe to Neubot RSS