Software

I have loved computer programming from a young age. Like most developers, I know over a dozen programming languages (to varying degrees). In the last decade, I have become extremely fond of Python, because of its beauty, power, and versatility—I use it for scripting, web programming, and data-science.

Open Source Projects

I am a big fan and contributor to open source software. I currently contribute to and/or maintain the following projects:

  • Simba Text Assistant: developed together with Freya Hewett, Christopher Richter, and other colleagues, Simba is a web plugin that supports abstractive and extractive summaries of webpages to improve online reading experience (under active development).

  • pyasn: a (highly downloaded) Python package that enables very fast IP address to ASN lookups. Historical lookups are also possible—which is important in internet measurement research. I am the package’s architect & maintainer (since 2010), with major contributions by Arman Noroozian and a host of other collaborators.

  • We Called It Earth: a participatory, digital platformer game that simultaneously creates the world it explores. Designed by artist Jessica Renfro and programmed by me (2021). Rejecting the myth of self-authorship, the avatar of this game is a black hole with a profusion of unruly limbs controlled by multiple players.

Past Contributions

  • datarights.me platform & dataset: Datarights.me is a platform that helps participants exercise their ‘right of access’, used by us in several studies. (2017-2020).
  • Open Web Privacy Measurement: I contributed the docker support and cookie banner detection; used in our ConPro paper (2016-2019).
  • Glasnost Python Analyser: Python scripts used to parse MLab’s Glasnost test results; used for our DPI papers; (2011-2013; see python_parser directory).
  • Argus Codewatch: a (now obsolete) Eclipse plugin that added code warnings to assist Java programmers create higher quality code (2008).
  • Farsi DBF Viewer: for reading and accessing legacy Farsi FoxPro files—a very old yet commonly used database format—in Microsoft .NET (2004-2006).
  • Property Sheet Shell Extensions in C#: property sheets are used extensively in Windows, and by default the .NET framework had no support for them (2003-2006).

Last Update: Jun 2023.