update internship description page
authorStefano Zacchiroli <zack@upsilon.cc>
Wed, 26 Feb 2020 10:45:23 +0000 (11:45 +0100)
committerStefano Zacchiroli <zack@upsilon.cc>
Wed, 26 Feb 2020 10:45:23 +0000 (11:45 +0100)
15 files changed:
teaching/internships.mdwn
teaching/internships/01-swh-distributed-object-storage.mdwn [deleted file]
teaching/internships/02-swh-web-ui.mdwn [deleted file]
teaching/internships/03-swh-forge-crawling.mdwn [deleted file]
teaching/internships/04-debian-checksums-service.mdwn [deleted file]
teaching/internships/05-tails-integrity-client.mdwn [deleted file]
teaching/internships/06-windows-of-vulnerability.mdwn [deleted file]
teaching/internships/07-tails-self-dpi.mdwn [deleted file]
teaching/internships/08-etherpad-encrypted.mdwn [deleted file]
teaching/internships/09-etherpad-in-a-box.mdwn [deleted file]
teaching/internships/10-rtce-characterization.mdwn [deleted file]
teaching/internships/11-functional-simulation.mdwn [deleted file]
teaching/internships/12-firmware-hw-integrity.mdwn [deleted file]
teaching/internships/13-anon-p2p-cloud.mdwn [deleted file]
teaching/internships/14-security-debian-derivatives.mdwn [deleted file]

index 9a72354..6c0665d 100644 (file)
@@ -1,15 +1,20 @@
 # (MSc) Thesis topics | Sujets de stage | Argomenti di tesi
 
-Below you can find a list of topics available for students interested in
-pursuing a master thesis—or *stages* (in France), or *tesi di laurea* (in
-Italy)—with myself as supervisor.
+I routinely supervise internships for students interested in pursuing a master
+thesis—or *stages* (in France), or *tesi di laurea* (in Italy).
+
+A list
+of [**internship topics**](https://wiki.softwareheritage.org/wiki/Internships)
+currently available with me as supervisor, on topics related to
+the [Software Heritage project](https://www.softwareheritage.org/), large-scale
+software analysis, big data, etc.), can be found on the
+[Software Heritage wiki](https://wiki.softwareheritage.org/wiki/Internships).
+
+Most of the internship topics there are in the field of empirical software
+engineering and will put into use a number of techniques to deal with huge
+amount of data (and in particular software source code) coming from large-scale
+archival of Free and Open Source Software---we are talking billions of source
+code files and commits, harvested from tens of millions software projects.
 
 If interested, please get in touch with me via
-[email](mailto:zack@pps.univ-paris-diderot.fr).
-
-[[!inline
-   pages="teaching/internships/*"
-   show="0"
-   sort="path"
-   template="inline-stage"
-]]
+[email](mailto:zack@irif.fr).
diff --git a/teaching/internships/01-swh-distributed-object-storage.mdwn b/teaching/internships/01-swh-distributed-object-storage.mdwn
deleted file mode 100644 (file)
index 1bc0f69..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-**Titre**: *Qui veut gagner des milliards (de fichiers source)?*
-
-**Contexte**: projet de recherche de grande envergure ayant comme but la
-récupération, l'organisation, et l'archivage à très long terme (siècles) de la
-totalité du logiciel libre publiquement accessible via Internet.
-
-**Description**: On souhaite concevoir, réaliser et tester en production un
-système de stockage pour fichiers textuels de petite taille (typiquement: code
-source) capable de stocker des milliards des fichiers, pour une occupation
-totale de l'ordre de 100 téraoctets, sur plusieurs noeuds des stockage
-géographiquement distribués. La synchronisation entre noeuds sera asynchrone,
-et chaque noeud disposera d'un contrôle automatique d'intégrité capable de
-réparer les fichiers corrompus (self-healing).
-
-**Connaissances souhaitées** pour accéder au stage:
-
-- algorithmique répartie
-- Python
-- PostgreSQL
-
-**Établissement d'accueil**: [Inria Paris](http://www.inria.fr/centre/paris)
-
-**Encadrants**:
-
-- [Roberto Di Cosmo](http://www.dicosmo.org/)
-- [Stefano Zacchiroli](http://upsilon.cc/~zack)
-
-**Status**: disponible
diff --git a/teaching/internships/02-swh-web-ui.mdwn b/teaching/internships/02-swh-web-ui.mdwn
deleted file mode 100644 (file)
index e087086..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-**Titre**: *Naviguer dans le plus grand dépôt Git du monde*
-
-**Contexte**: projet de recherche de grande envergure ayant comme but la
-récupération, l'organisation, et l'archivage à très long terme (siècles) de la
-totalité du logiciel libre publiquement accessible via Internet.
-
-**Description**: On souhaite concevoir une application Web permettant de
-explorer le contenu d'un dépôt d'un système de contrôle de version à-la
-Git. Idéalement, le but est similaire à la réalisation d'un clone de
-l'interface Web de GitHub, avec une subtilité: le dépôt qu'on souhaite explorer
-est très probablement le plus grand au monde—500 millions de commits, 2
-milliards des fichiers, 10 millions d'auteurs—ce qui pose plusieurs défis
-architecturaux et d'utilisabilité.
-
-**Connaissances souhaitées** pour accéder au stage:
-
-- programmation Web
-- interfaces graphiques
-- Python
-- PostgreSQL
-
-**Établissement d'accueil**: [Inria Paris](http://www.inria.fr/centre/paris)
-
-**Encadrants**:
-
-- [Roberto Di Cosmo](http://www.dicosmo.org/)
-- [Stefano Zacchiroli](http://upsilon.cc/~zack)
-
-**Status**: disponible
diff --git a/teaching/internships/03-swh-forge-crawling.mdwn b/teaching/internships/03-swh-forge-crawling.mdwn
deleted file mode 100644 (file)
index f66f01d..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-**Titre**: *Construire le web sémantique des projets logiciels libres*
-
-**Contexte**: projet de recherche de grande envergure ayant comme but la
-récupération, l'organisation, et l'archivage à très long terme (siècles) de la
-totalité du logiciel libre publiquement accessible via Internet.
-
-**Description**: Ils existent des millions de projets de logiciels libres,
-hébergés sur des centaines de plateformes différentes, et souvent
-dupliqués. Pour naviguer dans ce graphe de projets logiciels, il est important
-de disposer de métadonnées pertinentes, et plusieurs efforts existent, autour
-de technologies du Web Sémantique comme DOAP ou schema.org. Le but de ce stage
-est de collecter les métadonnées existantes, les uniformiser, et les intégrer
-dans une des plus grandes collections de logiciels libres au monde.
-
-**Connaissances souhaitées** pour accéder au stage:
-
-- information retrieval
-- modélisation et représentation des connaissances
-- manipulation de données semi-structurées (HTML, XML, etc.)
-
-**Établissement d'accueil**: [Inria Paris](http://www.inria.fr/centre/paris)
-
-**Encadrants**:
-
-- [Roberto Di Cosmo](http://www.dicosmo.org/)
-- [Stefano Zacchiroli](http://upsilon.cc/~zack)
-
-**Status**: disponible
diff --git a/teaching/internships/04-debian-checksums-service.mdwn b/teaching/internships/04-debian-checksums-service.mdwn
deleted file mode 100644 (file)
index 3907788..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-**Title**: *Large-scale repository of binary checksum for integrity checks*
-
-**Description**: implement and deploy a public repository of checksum
-information for the binary packages of the Debian distribution. Design and
-implement an API for the service that allows to query it for integrity checks
-and forensic purposes. Inject into the repository a substantial subset of the
-distribution history; analyze the resulting data set. The service is meant to
-be queried by the client developed as a
-[[separate topic|02-tails-integrity-client]].
-
-**Technologies**:
-
-- Python, SQLite, PostgreSQL
-- [Debian duplication detector](http://dedup.debian.net/) (which will need to
-  be adapted/extended in collaboration with the author)
-- <http://snapshot.debian.org>
-
-**Supervisors**:
-
-- [Gabriele D'Angelo](http://www.cs.unibo.it/~gdangelo)
-- [Stefano Zacchiroli](http://upsilon.cc/~zack)
-
-**Status**: available
diff --git a/teaching/internships/05-tails-integrity-client.mdwn b/teaching/internships/05-tails-integrity-client.mdwn
deleted file mode 100644 (file)
index 94d2b1a..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-**Title**: *Design and implementation of an integrity/forensic client for the
-Tails live distribution*
-
-**Description**: build a software tool (to be integrated in Tails) that is able
-to check the integrity of (some part of) the binaries installed on a Debian PC,
-accessible from the running Tails instace. As a backend, the client will use
-either the service developed as a
-[[separate topic|01-debian-checksums-service]] or <http://dedup.debian.net/>
-
-**Technologies**:
-
-- [Tails](https://tails.boum.org/)
-- [Debian duplication detector](http://dedup.debian.net/)
-
-**Supervisors**:
-
-- [Gabriele D'Angelo](http://www.cs.unibo.it/~gdangelo) 
-- [Stefano Zacchiroli](http://upsilon.cc/~zack)
-
-**Status**: available
diff --git a/teaching/internships/06-windows-of-vulnerability.mdwn b/teaching/internships/06-windows-of-vulnerability.mdwn
deleted file mode 100644 (file)
index decd92c..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-<span class="strike">**Title**: *Windows of Vulnerability (WoVs)*</span>
-
-**Description**: design and implement a forensic tool capable of reviewing the
-upgrade history of a Debian(-like) distribution with respect to the history of
-publicly known software vulnerabilities (e.g., CVEs, NVD, etc). The output of
-the tool should be a series of time intervals, stating to which vulnerabilities
-the machine might have been exposed in the past, and for how long it has been
-the case.
-
-**Technologies**:
-
-- Debian administration (see, e.g., [handbook](http://debian-handbook.info/))
-- Security standards:
-  - [CVE](https://cve.mitre.org/data/downloads/)
-  - [CPE](http://scap.nist.gov/specifications/cpe/)
-  - [CVRF](http://www.icasi.org/cvrf)
-- [Debian security tracker](https://security-tracker.debian.org/tracker/)
-
-**Supervisors**:
-
-- [Gabriele D'Angelo](http://www.cs.unibo.it/~gdangelo) 
-- [Stefano Zacchiroli](http://upsilon.cc/~zack)
-
-**Status**: taken
diff --git a/teaching/internships/07-tails-self-dpi.mdwn b/teaching/internships/07-tails-self-dpi.mdwn
deleted file mode 100644 (file)
index 828cda7..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-**Title**: *Self Deep Packet Inspection for Tails*
-
-**Description**: instrument the Tails distribution to be able to perform "self"
-Deep Packet Inspection, to prevent unintended leaks of private information
-(e.g., IP adress, browser fingerprinting information, etc). It should be
-possible to use the instrumentation for both distribution development/testing
-and real use (provided that a suitable UI, which is outside the scope of this
-work, can be devised).
-
-**Technologies**:
-
-- [Tails](https://tails.boum.org/)
-
-**More information**:
-
-- [Deep Packet Inspection](http://en.wikipedia.org/wiki/Deep_packet_inspection)
-  (on Wikipedia, for a general overview)
-
-**Supervisors**:
-
-- [Gabriele D'Angelo](http://www.cs.unibo.it/~gdangelo)
-- [Stefano Zacchiroli](http://upsilon.cc/~zack)
-
-**Status**: available
diff --git a/teaching/internships/08-etherpad-encrypted.mdwn b/teaching/internships/08-etherpad-encrypted.mdwn
deleted file mode 100644 (file)
index 1de161e..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-**Title**: *Encrypted Etherpad*
-
-**Description**: implement an encryption scheme that is suitable for real-time
-collaborative editing (a-la Google Docs) and integrate it into Etherpad. The
-scheme would allow to store the pad content on the server in an encrypted
-form. All of this has to be done without undermining real-time collaboration,
-and in particular it should use block-by-block encryption.
-
-**Technologies**:
-
-- [Etherpad](http://etherpad.org/)
-
-**More information**:
-
-- paper
-  [*Content cloaking: preserving privacy with Google Docs and other web applications*](https://upsilon.cc/~zack/research/publications/sac10-coclo.pdf)
-  (for a similar approach/solution, but *non-real-time*)
-- [Operational Transformation (OT)](https://en.wikipedia.org/wiki/Operational_transformation)
-
-**Supervisors**:
-
-- [Gabriele D'Angelo](http://www.cs.unibo.it/~gdangelo)
-- [Stefano Zacchiroli](http://upsilon.cc/~zack)
-
-**Status**: available
diff --git a/teaching/internships/09-etherpad-in-a-box.mdwn b/teaching/internships/09-etherpad-in-a-box.mdwn
deleted file mode 100644 (file)
index 209fafe..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-**Title**: *Etherpad in a box*
-
-**Description**: implement an alternative Etherpad UI as a Firefox Add-on (more
-specifically a Firefox Extension). No extra features with respect to the
-Web-only version of Etherpad are planned, but minor modifications might be
-needed. Ideally, the Firefox-based UI should share as much (JavaScript+HTML5)
-code with Etherpad as possible, and should aim at being built directly from
-Etherpad sources.
-
-**Technologies**:
-
-- [Etherpad](http://etherpad.org/)
-- JavaScript
-- HTML5
-- Node.js (for Etherpad modifications, if needed)
-- <http://en.wikipedia.org/wiki/Add-on_(Mozilla)#Types_of_add-ons>
-- <https://developer.mozilla.org/en-US/Add-ons>
-
-**Supervisors**:
-
-- [Gabriele D'Angelo](http://www.cs.unibo.it/~gdangelo)
-- [Stefano Zacchiroli](http://upsilon.cc/~zack)
-
-**Status**: available
diff --git a/teaching/internships/10-rtce-characterization.mdwn b/teaching/internships/10-rtce-characterization.mdwn
deleted file mode 100644 (file)
index f9e7d86..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-**Title**: *Characterization of real-time collaborative editing via Etherpad
-instrumentation*
-
-**Description**: instrument Etherpad to collect a wire range of live data
-during real-time collaborative editing of textual documents. A few examples of
-collected data: cursors position of each user, text and attribute changes,
-client-server http messages and network segments. The instrumentation should be
-enough to conduct experiments with real users and characterize usage patterns
-(yet unknown in the literature) of real-time collaborative editing.
-
-**Technologies**:
-
-- [Etherpad](http://etherpad.org/)
-- JavaScript
-- Node.js
-
-**Supervisors**:
-
-- [Gabriele D'Angelo](http://www.cs.unibo.it/~gdangelo)
-- [Stefano Zacchiroli](http://upsilon.cc/~zack)
-
-**Status**: available
diff --git a/teaching/internships/11-functional-simulation.mdwn b/teaching/internships/11-functional-simulation.mdwn
deleted file mode 100644 (file)
index e90c566..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-**Title**: *Functional Adaptive Parallel and Distributed Simulation*
-
-**Description**: design and implement a parallel/distributed simulation model
-based on the Multi-Agent System paradigm using a statically typed, functional
-programming language (e.g., OCaml).
-
-**Technologies**:
-
-- [GAIA](http://pads.cs.unibo.it/dokuwiki/doku.php?id=pads:gaia)
-- [OCaml](http://ocaml.org/)
-
-**Supervisors**:
-
-- [Gabriele D'Angelo](http://www.cs.unibo.it/~gdangelo)
-- [Stefano Zacchiroli](http://upsilon.cc/~zack)
-
-**Status**: available
diff --git a/teaching/internships/12-firmware-hw-integrity.mdwn b/teaching/internships/12-firmware-hw-integrity.mdwn
deleted file mode 100644 (file)
index 3f9c18a..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-**Title**: *Firmware and hardware checksuming for integrity evaluation*
-
-**Description**: design and build a software tool (based on a Linux live
-distribution) that is able to retrive as much firmware and hardware information
-as possible about the devices installed on the PC, and checksum them to: a)
-verifiy if something has changed since the last known run of the tool (to
-detect tampering smells), and b) compare the obtained results against a
-(community-maintained) database of "well-known" firmware/hardware information.
-
-**Technologies**:
-
-- [dmidecode](http://dmidecode.nongnu.org/)
-- [Linux's firmware interface](http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/firmware_class/README?id=HEAD)
-
-**Supervisors**:
-
-- [Gabriele D'Angelo](http://www.cs.unibo.it/~gdangelo)
-- [Stefano Zacchiroli](http://upsilon.cc/~zack)
-
-**Status**: available
diff --git a/teaching/internships/13-anon-p2p-cloud.mdwn b/teaching/internships/13-anon-p2p-cloud.mdwn
deleted file mode 100644 (file)
index e7e009b..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<span class="strike">**Title**: *Anonymous peer-to-peer (P2P) cloud*</span>
-
-**Description**: design and implementation of an opt-in, distributed, P2P IaaS
-cloud, in which both providers and users of virtual machines remain anonymous,
-thanks to the Tor low-latency anonymity network and its support for hidden
-services.
-
-**Technologies**:
-
-- [Tor](https://www.torproject.org/)
-- [Tor hidden services](https://www.torproject.org/docs/hidden-services.html.en)
-- [OpenStack](http://www.openstack.org/)
-- [Amazon EC2 API](http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Welcome.html)
-
-**More information**:
-
-- technical report
-  [*Design and Implementation of a P2P Cloud System*](http://www.informatica.unibo.it/it/ricerca/technical-report/2011/pdfs/2011-10.pdf)
-  (for a non-anonymous architecture)
-
-**Supervisors**:
-
-- [Gabriele D'Angelo](http://www.cs.unibo.it/~gdangelo)
-- [Stefano Zacchiroli](http://upsilon.cc/~zack)
-
-**Status**: taken
diff --git a/teaching/internships/14-security-debian-derivatives.mdwn b/teaching/internships/14-security-debian-derivatives.mdwn
deleted file mode 100644 (file)
index 09ab653..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-**Title**: *Propagation of security bug fixes among Debian derivatives*
-
-**Description**: study the propagation delay between the arrival of security
-bug fixes in the [Debian](http://www.debian.org) distribution and the arrival
-of the corresponding fixes in
-[Debian derivatives](https://wiki.debian.org/Derivatives) (i.e., GNU/Linux
-distributions that are based on/periodically merged with Debian). The work will
-be conducted processing a large data set of already available
-[diff](http://en.wikipedia.org/wiki/Diff_utility)-s, which have been obtained
-by automatically comparing Debian with its derivatives on a daily basis over
-the past few years.
-
-**Technologies**:
-
-- Debian administration (see, e.g., [handbook](http://debian-handbook.info/))
-- Security standards:
-  - [CVE](https://cve.mitre.org/data/downloads/)
-  - [CPE](http://scap.nist.gov/specifications/cpe/)
-  - [CVRF](http://www.icasi.org/cvrf)
-- [Debian Security Bug Tracker](https://security-tracker.debian.org/tracker/)
-
-**More information**:
-
-- [Debian Derivatives](https://wiki.debian.org/Derivatives)
-- [Debian Derivatives Census](https://wiki.debian.org/Derivatives/Census)
-- [sample diff-s](http://dex.alioth.debian.org/census/patches/) (more, and more
-  up-to-date diff-s are available, although not regularly published on the Web)
-
-**Supervisors**:
-
-- [Gabriele D'Angelo](http://www.cs.unibo.it/~gdangelo)
-- [Stefano Zacchiroli](http://upsilon.cc/~zack)
-
-**Status**: available