Neubothttp://neubot.org
Distributed measuring of network neutrality violations.enReceived unrestricted grant to finance Measurement Kit!http://neubot.org/2016/02/03/measurement-kit-refinanced
<div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even"><img src="/neubotfiles/bassosimone.svg" alt="@bassosimone" style="float: left; padding: 0px 10px 10px 10px" width="92px" /><p>Another short post to share epic news: we recently received an unrestricted grant of 50,000 USD from Google to support the development of <a href="/download#mk">Measurement Kit</a>! Specifically, with "support" here we mean paying salary of persons involved (chiefly me, but also others to a smaller extent) and also travels to/from related hackathons.</p>
<p>We intend to use this grant to implement the <a href="https://github.com/ndt-project/ndt/wiki/NDTTestMethodology">testing methodology</a> of the <a href="https://github.com/ndt-project/ndt">Network Diagnostic Tool</a> for Measurement Kit. We are also considering what other network performance methodologies it would be optimal to implement and discussing on how to enable the Neubot software to run those tests.</p>
<!--break--></div></div></div>Wed, 03 Feb 2016 14:51:00 +0000Simone Basso171 at http://neubot.orghttp://neubot.org/2016/02/03/measurement-kit-refinanced#commentsneubot-runtime 0.4.17.0 and neubot-server 0.5.0 releasedhttp://neubot.org/2016/02/03/neubot-runtime-0.4.17.0-neubot-server-0.5.0
<div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even"><img src="/neubotfiles/bassosimone.svg" alt="@bassosimone" style="float: left; padding: 0px 10px 10px 10px" width="92px" /><img src="/neubotfiles/package-x-generic.svg" alt="Neubot icon" style="float: right; padding: 10px 10px 10px 0px" width="132px" /><p>Today I am pleased to announce that we have recently released two hopefully stable versions of <a href="https://github.com/neubot/neubot-runtime">neubot-runtime</a> and <a href="https://github.com/neubot/neubot-server">neubot-server</a>. These two releases come after many (perhaps too many) months of development aiming at moving forward with Neubot.</p>
<p><a href="https://neubot.nexacenter.org/2015/12/03/network-measurements-from-the-edges">I already mentioned before</a> these efforts that basically strive to split Neubot client and Neubot server to allow to develop them independently. In this context, neubot-runtime is the shared piece of software containing the basic classes used by both the client and the server of Neubot. The latest (and first) stable release of neubot-runtime, <a href="https://github.com/neubot/neubot-runtime/releases/tag/v0.4.17.0">v0.4.17.0</a>, contains code that was tested and known to run with neubot-server. Not all the code inside neubot-runtime is already compatible with python3, but we're working in this direction.</p>
<p>Instead, neubot-server contains (as the name implies) only Neubot server code. This first release, <a href="https://github.com/neubot/neubot-server/releases/tag/v0.5.0.0">v0.5.0.0</a>, is based on neubot-runtime 0.4.17.0. One notable feature that we introduced is that now all tests are independent modules loaded at runtime. Work in this direction was already initiated during the release process of <a href="https://neubot.nexacenter.org/neubot-0.4.16.9">Neubot 0.4.16</a>.</p>
<p>These two new releases are the result of the efforts of <a href="https://github.com/bassosimone">me</a> and <a href="https://github.com/DavideAllavena">Davide Allavena</a>.</p>
<p>We will now start deploying the new neubot-server on mlab test machines and, when we will be satisfied, we will deploy it (or a subsequent version of it) on all mlab machines, for all clients to use it.</p>
<p>This piece of work (moving forward on the server side) allows us to concentrate now on the client side, for which we tentatively scheduled a new release (0.4.17.0) for end of March.</p>
<!--break--></div></div></div>Wed, 03 Feb 2016 09:33:20 +0000Simone Basso172 at http://neubot.orghttp://neubot.org/2016/02/03/neubot-runtime-0.4.17.0-neubot-server-0.5.0#commentsMeasurementKit 0.1.0 and 0.1.1 releasedhttp://neubot.org/2016/01/measurement-kit-0.1.0-and-0.1.1
<div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even"><img src="/neubotfiles/bassosimone.svg" alt="@bassosimone" style="float: left; padding: 0px 10px 10px 10px" width="92px" /><img src="/neubotfiles/package-x-generic.svg" alt="Neubot icon" style="float: right; padding: 10px 10px 10px 0px" width="132px" /><p>A short post to say that we've recently made available the first and second stable releases of MeasurementKit, the network measurements library for mobile devices to which we've been working for more than two years now!</p>
<p>The first release (<a href="https://github.com/measurement-kit/measurement-kit/releases/tag/v0.1.0">0.1.0</a> released on December 16, 2015) focused on providing an initial stable API for running OONI tests and iOS and Android support.</p>
<p>The second release (<a href="https://github.com/measurement-kit/measurement-kit/releases/tag/v0.1.1">0.1.1</a> released on January 13, 2016) added some bug fixes and improvements.</p>
<p>Other related repositories are the <a href="https://github.com/measurement-kit/measurement-kit-app-ios">iOS app repository</a>, the <a href="https://github.com/measurement-kit/measurement-kit-app-android">Android app repository</a>, and the <a href="https://github.com/measurement-kit/measurement-kit-android">Android JNI repository</a>.
<!--break--></p></div></div></div>Tue, 19 Jan 2016 21:47:09 +0000Simone Basso170 at http://neubot.orghttp://neubot.org/2016/01/measurement-kit-0.1.0-and-0.1.1#comments[ITA] Slide Conferenza Nexa 2015http://neubot.org/2015/12/16/nexa-conf-2015-slides
<div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even"><p>Slide che ho usato nella mia presentazione durante la <a href="http://nexa.polito.it/conf2015">7a Conferenza Nexa su Internet e Società</a>:</p>
<center><iframe src="//www.slideshare.net/slideshow/embed_code/key/bIrgNcwDvcpSEP" width="595" height="485" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;" allowfullscreen=""> </iframe> <div style="margin-bottom:5px"> <strong> <a href="//www.slideshare.net/bassosimone/nexa-conf2015" title="Nexa conf-2015" target="_blank">Nexa conf-2015</a> </strong> from <strong><a href="//www.slideshare.net/bassosimone" target="_blank">Simone Basso</a></strong> </div></center>
<p><a href="https://nexa.polito.it/nexacenterfiles/conf2015-basso.pdf">Versione PDF delle slide</a>.</p>
<!--break--></div></div></div>Wed, 16 Dec 2015 09:51:57 +0000Simone Basso169 at http://neubot.orghttp://neubot.org/2015/12/16/nexa-conf-2015-slides#comments"Network measurements from the edges"http://neubot.org/2015/12/03/network-measurements-from-the-edges
<div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even"><p>As you probably have noticed, I changed the tagline of the website. From "the network neutrality bot" to "network measurements from the edges". Oh, and I also <a href="https://www.youtube.com/watch?v=4DwWwnzNLp0">aggressively edited the content of the website</a>. To the point that most content now <a href="https://www.youtube.com/watch?v=V7RMKq8RQj4">sleeps with the fishes</a>.</p>
<p>Such radical changes reflect profound transformations that have been happening in the last 1.5 years.</p>
<p>Basically, at a certain point the focus moved away from the Neubot software tool alone, and started to be measuring the internet from the edges with whatever mean, provided that it was adequate for the task.</p>
<p>This happened, I guess, during the <a href="https://nexa.polito.it/morfeo">MorFEO</a> project (i.e. in 2014).</p>
<div align="center" style="padding-right: 50px; padding-left: 50px;">
<p><img src="/neubotfiles/Luca_assassination.jpg" alt="Luca Brasi sleeps with the fishes" title="Luca Brasi sleeps with the fishes" width="66%" /></p><div style="padding-right: 50px; padding-left: 50px;"><em>It's ironic that in the same post we have a project called Morfeo (i.e. <a href="https://en.wikipedia.org/wiki/Morpheus_%28mythology%29">Morpheus</a>) and content sleeping with the fishes, don't you think? (Source: <a href="http://godfatherthegame.wikia.com/wiki/Luca_Brasi">God Father The Game (Wikia)</a>).</em></div>
</div>
<p>Today, preparing my talk for the (and my!) <a href="https://nexa.polito.it/conf2015">seventh Nexa conference</a>, I reckoned that the time had come to finally attempt to sync up this website with reality.</p>
<p>So, what did I change? Well, basically I kept the original skeleton, but in many cases I've significantly reduced the bloat. And, most importantly, in all places I've clarified that <a href="https://nexa.polito.it/neubot">Neubot is now the name of Nexa Center's project that R&amp;D network measurement tools</a>, one of which happens to be called <a href="https://github.com/neubot/neubot">neubot</a>. (This was also clarified in <a href="https://nexa.polito.it/neubot">Nexa's website</a> and I also opened an <a href="https://github.com/neubot/neubot-project">helper GitHub repository to track TODOs</a>.)</p>
<p>As said, the new content now reflects reality. In the last two years I have been working mostly on what was initially called libneubot, then libight, and finally <a href="https://github.com/measurement-kit/measurement-kit">MeasurementKit</a>. This product is a portable network measurement library meant to support network-performance and internet-censorship measurements from mobile devices (iOS and Android). It is a new product because Neubot, as a tool written in Python, was not adequate to perform mobile measurements -- a thing that we're interested to do.</p>
<p>And yes this library, MeasurementKit, was significantly shaped by MorFEO. In fact MeasurementKit is jointly developed with the <a href="https://ooni.torproject.org/">OONI project</a>, which was partner of MorFEO.</p>
<p>Does this mean that Neubot (as a software) will die? No. I am currently working with <a href="https://github.com/davideallavena/">Davide</a> (another <a href="https://github.com/orgs/neubot/people">Neubot core developer</a>) and <a href="https://github.com/helloimcarmine">Carmine</a> to, let's say, extract the code that used to be Neubot from the <a href="https://en.wikipedia.org/wiki/Big_ball_of_mud">ball of mud</a> that Neubot become during the last two years of my doctorate. We're making a good job at that. We already have a quasi-stable implementation of the Neubot core classes (the <a href="https://github.com/neubot/neubot-runtime">"runtime"</a>), we made this portable to Python3, we separated <a href="https://github.com/neubot/neubot-client">client code</a> and <a href="https://github.com/neubot/neubot-server">server code</a>, and now server code kinda works using the runtime.</p>
<div align="center" style="padding-right: 50px; padding-left: 50px">
<iframe width="420" height="315" src="https://www.youtube.com/embed/4DwWwnzNLp0" frameborder="0" allowfullscreen=""></iframe>
<p style="font-size: 97.5%;">While writing this blog post I was listening to this song. At a certain point it says:<br /> "it shouldn't be impossible to use scissors if this is exactly what you want".</p></div>
<p>The plan for the next one year or so is to focus on MeasurementKit adding cool features and to maintain Neubot and engineer its code to make it simple again to do useful stuff with it. This seems to me at the moment the most rational way to move forward.</p>
<p>And possibly that's what I'll say tomorrow during my lightning talk at Nexa Conference. Now closing this log and focusing on the slides deck. I will likely have more to say in the near future.</p>
<!--break--></div></div></div>Thu, 03 Dec 2015 21:28:03 +0000Simone Basso168 at http://neubot.orghttp://neubot.org/2015/12/03/network-measurements-from-the-edges#commentsNeubot report: July - September 2015http://neubot.org/2015/11/10/neubot-report-3
<div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even"><p>Most hacking during these three months period concentrated on <a href="https://github.com/measurement-kit/measurement-kit">MeasurementKit</a> (mainly pre-release cleanups) and <a href="https://github.com/measurement-kit/network-meter/">NetworkMeter</a>. 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 (<a href="https://en.wikipedia.org/wiki/Bordighera">Bordighera</a>) and nearby cities (such as <a href="https://en.wikipedia.org/wiki/Ventimiglia">Ventimiglia</a>). 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 <a href="http://www.artchive.com/artchive/m/monet/bordighera.jpg">picture by Monet</a> also authored in Bordighera).</p>
<div align="center" style="padding-right: 20px;">
<p><img src="/neubotfiles/bordighera-monet-like.jpg" alt="A view from Bordighera" title="A view from Bordighera" width="66%" /></p><div><em>A view from <a href="https://en.wikipedia.org/wiki/Bordighera">Bordighera</a> —Picture by me (CC BY 3.0)</em></div>
</div>
<p>Having said of my vacations, let's go back to business. The following MeasurementKit pull requests were merged:</p>
<ol><li><a href="https://github.com/measurement-kit/measurement-kit/pull/140">Teach connection to use custom poller</a></li>
<li><a href="https://github.com/measurement-kit/measurement-kit/pull/141">Register test complete callback along with test</a></li>
<li><a href="https://github.com/measurement-kit/measurement-kit/pull/142">Big rename from libight to measurement_kit</a></li>
<!--break-->
<li><a href="https://github.com/measurement-kit/measuremenrotate=">Make error really useful</a></li>
<li><a href="https://github.com/measurement-kit/measurement-kit/pull/144">Get rid of emitter</a></li>
<li><a href="https://github.com/measurement-kit/measurement-kit/pull/145">Release engineering of check-connectivity</a></li>
<li><a href="https://github.com/measurement-kit/measurement-kit/pull/146">rm libneubot legacy: test/echo_client_evbuf.cpp</a></li>
<li><a href="https://github.com/measurement-kit/measurement-kit/pull/147">Release engineering of libevent.hpp</a></li>
<li><a href="https://github.com/measurement-kit/measurement-kit/pull/148">Release engineering of logging facilities</a></li>
<li><a href="https://github.com/measurement-kit/measurement-kit/pull/149">Release engineering of common/net_test.hpp</a></li>
<li><a href="https://github.com/measurement-kit/measurement-kit/pull/150">Release engineering of poller</a></li>
<li><a href="https://github.com/measurement-kit/measurement-kit/pull/151">Release engineering of utils.hpp utils.cpp</a></li>
<li><a href="https://github.com/measurement-kit/measurement-kit/pull/152">Allow connection with custom poller</a></li>
<li><a href="https://github.com/measurement-kit/measurement-kit/pull/153">Teach portolan traceroute about reply packets</a></li>
<li><a href="https://github.com/measurement-kit/measurement-kit/pull/154">Start to define some errors</a></li>
<li><a href="https://github.com/measurement-kit/measurement-kit/pull/155">Improve net/buffer</a></li>
<li><a href="https://github.com/measurement-kit/measurement-kit/pull/156">Improve net/transport code</a></li>
<li><a href="https://github.com/measurement-kit/measurement-kit/pull/157">README.md: improve description</a></li>
<li><a href="https://github.com/measurement-kit/measurement-kit/pull/158">Improvements suggested by @hellais in #157</a></li>
<li><a href="https://github.com/measurement-kit/measurement-kit/pull/159">Document and improve pointer</a></li>
<li><a href="https://github.com/measurement-kit/measurement-kit/pull/161">Document more stuff inside common</a></li>
<li><a href="https://github.com/measurement-kit/measurement-kit/pull/162">Cleanup delayed call</a></li>
<li><a href="https://github.com/measurement-kit/measurement-kit/pull/163">Split DNS files</a></li>
<li><a href="https://github.com/measurement-kit/measurement-kit/pull/164">Update travis.yml</a></li>
<li><a href="https://github.com/measurement-kit/measurement-kit/pull/165">Cleanup DNS class names and coding style</a></li>
<li><a href="https://github.com/measurement-kit/measurement-kit/pull/166">Move specific net errors in net/error.hpp</a></li>
<li><a href="https://github.com/measurement-kit/measurement-kit/pull/167">Document transport</a></li>
<li><a href="https://github.com/measurement-kit/measurement-kit/pull/168">Move documentation below doc/dns</a></li>
<li><a href="https://github.com/measurement-kit/measurement-kit/pull/169">More simple dns changes</a></li>
<li><a href="https://github.com/measurement-kit/measurement-kit/pull/171">Update Query copy/move strategy</a></li>
<li><a href="https://github.com/measurement-kit/measurement-kit/pull/172">Refactor http code</a></li>
<li><a href="https://github.com/measurement-kit/measurement-kit/pull/173">Define operator&lt;&lt; for transport</a></li>
<li><a href="https://github.com/measurement-kit/measurement-kit/pull/174">Support for mapping errors to OONI errors</a></li>
</ol><p>Most of the above are, as said, pre release cleanups. A large part of this code was written in the night during August and later refined when I returned back to Turin during the last week of August. The following is a picture I took around sunset near the station of Torino Porta Susa, on my way back from having an ice cream.</p>
<div align="center" style="padding-right: 20px;">
<p><img src="/neubotfiles/porta-susa-sunset_0.JPG" alt="Sunset in Ventimiglia" title="Sunset in Ventimiglia" width="50%" /></p>
<div><em>Sunset in <a href="https://en.wikipedia.org/wiki/Turin">Turin</a> —Picture by me (CC BY 3.0)</em></div>
</div>
<p>During this summer, I also reviewed the following NetworkMeter pull requests:</p>
<ol><li><a href="https://github.com/measurement-kit/network-meter/pull/5">Simplify merge with master</a></li>
<li><a href="https://github.com/measurement-kit/network-meter/pull/10">package.json bugfixes and enhacements</a></li>
<li><a href="https://github.com/measurement-kit/network-meter/pull/13">Argument modal implemented</a></li>
<li><a href="https://github.com/measurement-kit/network-meter/pull/16">Plugin manager</a></li>
<li><a href="https://github.com/measurement-kit/network-meter/pull/17">Plugin execution</a></li>
<li><a href="https://github.com/measurement-kit/network-meter/pull/21">Bugfixes</a></li>
</ol><p>At the end of the summer, in the third week of September I had another four days short break, in which I returned to my home city again. The following is a picture I took just before having an aperitif with friends in <a href="https://en.wikipedia.org/wiki/Ventimiglia">Ventimiglia</a>.</p>
<div align="center" style="padding-right: 20px;">
<p><img src="/neubotfiles/senset-in-ventimiglia.JPG" alt="Sunset in Ventimiglia" title="Sunset in Ventimiglia" width="66%" /></p>
<div><em>Sunset in <a href="https://en.wikipedia.org/wiki/Ventimiglia">Ventimiglia</a> —Picture by me (CC BY 3.0)</em></div>
</div>
<p>That's all for the July - September period!<a></a></p></div></div></div>Tue, 10 Nov 2015 10:48:51 +0000Simone Basso167 at http://neubot.orghttp://neubot.org/2015/11/10/neubot-report-3#commentsNeubot report: April - June 2015http://neubot.org/2015/08/28/neubot-report
<div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even"><img src="/neubotfiles/bassosimone.svg" alt="@bassosimone" style="float: left; padding: 0px 10px 10px 10px" width="92px" /><img src="/neubotfiles/neubot-logo.svg" alt="@neubot" style="float: right; padding: 0px 10px 10px 10px" width="92px" /><p>Greetings from the Hacker Standard Time timezone! The greatest change in the April - June 2015 period is that the library that I <a href="http://neubot.org/2015/03/29/neubot-report#libight">previously called libight</a> was renamed and now is called <a href="https://github.com/measurement-kit/measurement-kit">measurement-kit</a>. In addition the repository was moved from <a href="https://github.com/TheTorProject/">TheTorProject</a> organization to another organization, called <a href="https://github.com/measurement-kit">measurement-kit</a>.</p>
<p>In addition to changing names, we <a href="https://github.com/measurement-kit/measurement-kit/compare/c55ea94be50fae0f08943384853a78b4f0216411...f9552f19b95ac4054c1f81fc0a8064926d93d0ff">did progresses towards releasing the first version of measurement-kit</a> along with the sample applications. The <a href="https://github.com/measurement-kit/measurement-kit-app-ios">iOS application</a>, in particular, is nearly ready (thanks to <a href="https://github.com/lorenzoPrimi">Lorenzo Primiterra</a> for helping with that). The <a href="https://github.com/measurement-kit/measurement-kit-app-android">Android application</a> instead is not as ready; its code in fact has not been committed to GitHub yet, as we are still working offline.</p>
<p>Among all the measurement-kit changes a notable change was that I <a href="https://github.com/measurement-kit/measurement-kit/pull/118">coded support for running traceroutes on Android</a> by customizing code contributed by the <a href="http://portolan.iet.unipi.it/">Portolan</a> project. This was done during a two days of hacking in Pisa, side by side with <a href="https://github.com/ValerioLuconi">Valerio Luconi</a>, one the authors of Portolan.</p>
<div align="center" style="padding-right: 20px;">
<p><img src="/neubotfiles/pisa-1.jpg" alt="Lungarno in Pisa" title="Lungarno in Pisa" width="44%" />
<img src="/neubotfiles/pisa-2.jpg" alt="Lungarno in Pisa" title="Lungarno in Pisa" width="44%" /></p>
<div><em>Lungarno in Pisa—Pictures by me (CC BY 3.0)</em></div>
</div>
<p>I have also started contributing to <a href="https://github.com/measurement-kit/network-meter">network-meter</a>, a shell for running network measurement tools (e.g. Neubot, <a href="https://ooni.torproject.org/">OONI</a>) and for visualizing their results. This effort is spearheaded by <a href="https://github.com/0xPoly">Poly</a>, a OONI volunteer. Also network-meter is on GitHub under the umbrella of the measurement-kit organization.</p>
<p><a href="https://github.com/filippoMichielon">Filippo Michielon</a> did a <a href="https://github.com/filippoMichielon/angularjs_neubot">mockup of the new Neubot web interface</a> written using <a href="https://angularjs.org/">Angular.js</a> and <a href="http://d3js.org/">D3.js</a>. This could be a good basis for rewriting the web interface with more modern and less-custom tools.</p>
<!--break-->
<p>I also continued to <a href="https://github.com/bassosimone/neubot-server/compare/9e0896e0ac705c68a7782898fc2e5efd58dd123f...01b56d1bf102e233097faaebb51bf77e5e8941c2">work on the split of the server part of Neubot from the main Neubot repository</a>.</p>
<p>I also continued to work on a <a href="https://github.com/bassosimone/neubot-scheduler">prototype</a> that could be useful to reason about a slimmer version of Neubot that executes its tests as external plugins (this was done before I started to be involved in network-meter).</p>
<p>Regarding the <a href="http://neubot.org/2015/03/29/neubot-report#caps2015">CAPS proposal mentioned in the previous report</a>, this was submitted and unfortunately we were informed in late July that it was rejected. We are now exploring other routes to refund our activities.</p>
<p>To conclude, there was this event in Turin where I was invited to speak. I already spent <a href="http://neubot.org/2015/05/15/neubot-digital-championship-torino">a blog post</a> (in Italian) to describe this event, in which I basically presented Neubot and described future plans.</p>
<div align="center" style="padding-right: 20px;">
<p><img src="/neubotfiles/castel-vittorio-lakes.jpg" alt="Lakes in Castel Vittorio, Liguria, Italy" title="Lakes in Castel Vittorio, Liguria, Italy" width="50%" /></p><div><em>Lakes in Castel Vittorio, Liguria, Italy (this photo was taken in August actually)<br />Picture by me (CC BY 3.0)</em></div>
</div>
<p>That should be pretty much all! I hope I have not lost too much state, since some time has passed from the end of June (including a three-week break during August, see the picture above) .</p>
</div></div></div>Thu, 27 Aug 2015 23:55:38 +0000Simone Basso166 at http://neubot.orghttp://neubot.org/2015/08/28/neubot-report#comments[ITA] Presentazione Neubot all'evento Digital Championship di Torinohttp://neubot.org/2015/05/15/neubot-digital-championship-torino
<div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even"><img src="/neubotfiles/bassosimone.svg" alt="@bassosimone" style="float: left; padding: 0px 10px 10px 10px" width="92px" /><p>Il 23 Aprile scorso ho presentato Neubot durante <a href="http://www.digitalchampions.it/archives/blog/digital-championship-diretta-social-da-torino/">l'evento Digital Championship di Turin</a>. In effetti io non sono un Digital Champions e originariamente infatti avevano invitato a parlare di Neubot <a href="http://nexa.polito.it/people/fmorando">Federico Morando</a> che e' il Digital Champion di Novi Ligure. Tuttavia lui non c'era, cosi' alla fine sono andato io.</p>
<p>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:</p>
<center><iframe width="560" height="315" src="https://www.youtube.com/embed/cm_4iXqqbzo?start=3380" frameborder="0" allowfullscreen=""></iframe></center>
<p>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 <a href="http://it.wikipedia.org/wiki/Marco_Boglione">Marco Boglione</a> (<a href="https://youtu.be/cm_4iXqqbzo?t=3766">verso la fine del mio intervento</a>) a proposito di open source e modelli di business.</p>
<p>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!</p>
<!--break--></div></div></div>Fri, 15 May 2015 06:59:32 +0000Simone Basso164 at http://neubot.orghttp://neubot.org/2015/05/15/neubot-digital-championship-torino#commentsNeubot report: January - March 2015http://neubot.org/2015/03/29/neubot-report
<div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even"><img src="/neubotfiles/bassosimone.svg" alt="@bassosimone" style="float: left; padding: 0px 10px 10px 10px" width="92px" /><img src="/neubotfiles/neubot-logo.svg" alt="@neubot" style="float: right; padding: 0px 10px 10px 10px" width="92px" /><p>Greetings! Many things have happened in the last three months. <a href="#libight">Libight</a> development, the <a href="#nntools2015">NNTools2015</a> workshop, a <a href="#caps2015">CAPS proposal</a> on making network measurements more accessible to (and understandable by) people, work to <a href="#neubot-dev">rationalize and reorganize Neubot code</a>, progress in implementing the <a href="#neubot-utp">uTP Neubot experiment</a>, and prototype code to <a href="#neubot-pipeline">import and process Neubot data</a>. Read on for further details!</p>
<p id="libight"><strong>Libight.</strong> Development on <a href="https://github.com/TheTorProject/libight">libight</a> 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: <a href="https://github.com/TheTorProject/libight-build-ios">libight-build-ios</a>, used to cross-compile libight for iOS under MacOSX systems, and <a href="https://github.com/TheTorProject/libight_ios">libight_ios</a>, a prototype application for iOS. People involved in this were, apart from <a href="https://github.com/bassosimone/">me</a>, <a href="https://github.com/hellais/">Arturo</a>, <a href="https://github.com/alessandro40/">Alessandro</a>, <a href="https://github.com/lorenzoPrimi">Lorenzo</a>, <a href="https://github.com/alemela">Alessio</a> and <a href="https://github.com/antoniolangiu/">Antonio</a>. I also participated to the last two days of the <a href="https://trac.torproject.org/projects/tor/wiki/org/meetings/2015WinterDevMeeting">Tor dev winter meeting</a>, in which I teamed up with other <a href="https://ooni.torproject.org/">OONI</a> developers to do some hacking. There <a href="https://github.com/TheTorProject/libight/tree/feature/traceroute-portolan">I started to study and merge network measurement code to run traceroutes</a> contributed to us by the guys of the <a href="http://portolan.iet.unipi.it/">Portolan project (University of Pisa)</a>. The dev meeting was held in Valencia. The Saturday after the meeting I had some free time to walk through the <a href="http://en.wikipedia.org/wiki/City_of_Arts_and_Sciences">City of Arts and Sciences</a>, reflect and take pictures.</p>
<div align="center" style="padding-right: 20px;">
<p><img src="/neubotfiles/valencia-1.jpg" alt="City of Arts and Sciences - Valencia" title="City of Arts and Sciences - Valencia" width="44%" />
<img src="/neubotfiles/valencia-2.jpg" alt="City of Arts and Sciences - Valencia" title="City of Arts and Sciences - Valencia" width="44%" /></p>
<p><img src="/neubotfiles/valencia-3.jpg" alt="City of Arts and Sciences - Valencia" title="City of Arts and Sciences - Valencia" width="44%" />
<img src="/neubotfiles/valencia-4.jpg" alt="City of Arts and Sciences - Valencia" title="City of Arts and Sciences - Valencia" width="44%" /></p>
<div><em>City of Arts and Sciences (Valencia)—Pictures by me (CC BY 3.0)</em></div>
</div>
<p id="nntools2015"><strong>NNTools2015.</strong> In January we held at Nexa a workshop, called <a href="http://nexa.polito.it/nntools2015">NNTools2015</a>, 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 <a href="http://policyreview.info/">Internet Policy Review</a> journal.</p>
<p id="caps2015"><strong>CAPS proposal.</strong> We are also currently working to submit a <a href="http://ec.europa.eu/digital-agenda/en/collectiveawareness">CAPS</a> 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, <a href="https://twitter.com/mttdlllbr">Mattia</a>. Below, you find a video of me discussing the concept of our proposal during the <a href="https://ec.europa.eu/digital-agenda/en/news/collective-awareness-platforms-sustainability-and-social-innovation-infoday">Paris CAPS Info Day</a> back in February.</p>
<div align="center" style="padding-right: 20px;">
<iframe width="560" height="315" src="https://www.youtube.com/embed/jYsI2QeSK1M" frameborder="0" allowfullscreen=""></iframe>
<div><em>/me speaking at CAPS Info Day (Paris)—Video by <a href="http://nexa.polito.it/people/lcanova">Lorenzo</a> (CC BY 3.0)</em></div>
</div>
<p id="neubot-dev"><strong>Neubot server and www.</strong> Speaking of Neubot proper, I made some progresses towards deciding the future structure of the software project. <!--break--> Here I have to thank for insightful discussions and suggestions <a href="https://github.com/alemela">Alessio</a>, <a href="https://github.com/filippoMichielon/">Filippo</a> and <a href="https://twitter.com/mttdlllbr">Mattia</a>. 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 <a href="https://github.com/bassosimone/neubot-server">forked a server repository</a> 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 <a href="https://github.com/neubot/neubot_www">forked a www repository</a> 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.</p>
<p id="neubot-utp"><strong>Neubot libight-based uTP test.</strong> <a href="https://github.com/alessandro40/">Alessandro</a>, 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 <a href="https://github.com/alessandro40/libight/tree/add-utp-transport">published on github</a>. We will continue the development publicly until it is ready to be merged into the <a href="https://github.com/TheTorProject/libight">main libight repository</a>.</p>
<p id="neubot-pipeline"><strong>Neubot pipeline.</strong> To conclude, I have also <a href="https://github.com/bassosimone/neubot-pipeline">sketched up a pipeline for importing Neubot data from M-Lab servers and processing it using MongoDB</a>. This pipeline is actually based on the <a href="https://github.com/TheTorProject/ooni-pipeline">similar-purpose pipeline developed by the OONI project</a>. 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.</p>
</div></div></div>Sun, 29 Mar 2015 11:19:38 +0000Simone Basso163 at http://neubot.orghttp://neubot.org/2015/03/29/neubot-report#commentsNeubot report: October - December 2014http://neubot.org/2014/12/19/neubot-report
<div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even"><img src="/neubotfiles/bassosimone.svg" alt="@bassosimone" style="float: left; padding: 0px 10px 10px 10px" width="92px" /><img src="/neubotfiles/MerryNeubot.jpg" alt="Merry Neubot" style="float: right; padding: 0px 10px 10px 10px" width="132px" /><p>Most of the development work in the last three months focused on <a href="https://github.com/TheTorProject/libight">libight</a>, a library for running network experiments on the mobile platform developed in cooperation with <a href="https://github.com/hellais/">Arturo Filastò</a> (<a href="https://www.torproject.org/">Tor Project</a> / <a href="http://logioshermes.org/">Hermes Center</a>). This library is developed to implement the mobile applications of Neubot and <a href="https://ooni.torproject.org/">OONI</a>.</p>
<p>I worked on libight during the 8-14 December hackfest in Rome in which we have <a href="https://github.com/TheTorProject/libight/compare/1298ff6a...05f3850e">implemented the basic library functionality</a> (stream sockets, DNS and HTTP). We have now three prototypal OONI tests (<a href="https://github.com/TheTorProject/ooni-spec/blob/master/test-specs/ts-012-dns-injection.md">DNS injection</a>, <a href="https://github.com/TheTorProject/ooni-spec/blob/master/test-specs/ts-008-tcpconnect.md">TCP connect</a> and <a href="https://github.com/TheTorProject/ooni-spec/blob/master/test-specs/ts-007-http-invalid-request-line.md">HTTP invalid request line</a>) that produce a <a href="http://en.wikipedia.org/wiki/YAML">YAML</a> file as result. And we have sketched up a plan for version 1.0.0.0 of libight.</p>
<div align="center" style="padding-right: 20px;">
<img src="/neubotfiles/2014-12-23_rome.jpg" alt="Colosseum by night" title="Colosseum by night" width="66%" /><div><em>Colosseum by night—Picture by me (CC BY 3.0)</em></div>
</div>
<p>Meanwhile, <a href="http://nexa.polito.it/people/aquaranta">Alessandro</a> has been working to implement a <a href="http://www.bittorrent.org/beps/bep_0029.html">utp</a> 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.</p>
<p>I was also invited at the 3rd Workshop on Internet Censorship Measurements—organized by Meredith Whittaker of <a href="http://www.measurementlab.net/">M-Lab</a> and held in New York City the 29-30 October 2014—to discuss issues at the intersection between traffic shaping and Internet censorship.</p>
<div align="center" style="padding-left: 60px;">
<img src="/neubotfiles/2014-12-23_nyc.jpg" alt="New York City seen from Central Park" title="New York City seen from Central Park" width="66%" /><div><em>New York City seen from Central Park—Picture by me (CC BY 3.0)</em></div>
</div>
<p>I have also worked on the draft of the journal paper describing Neubot, integrating changes proposed by <a href="http://nexa.polito.it/people/jcdemartin">Juan Carlos</a> and further polishing and refining the text.</p>
<!--break-->
<p>I have also continued the work on splitting Neubot tests to let them run as separate processes and have <a href="https://github.com/bassosimone/neubot_altnet">isolated a piece of the Neubot API</a> that could be reused by Neubot's raw test and mlab-ns client.</p>
<p>That pretty much all of it!</p></div></div></div>Fri, 19 Dec 2014 11:16:39 +0000Simone Basso162 at http://neubot.orghttp://neubot.org/2014/12/19/neubot-report#comments