Proposte di Stage/Tesi

Nota bene:

  • questa pagina è spesso outdated, prendetela come suggerimento e ispirazione anche perché accetto volentieri proposte di progetto da parte degli studenti
  • anche i titoli sono in generale di massima, per identificare un argomento/contesto

Tesi (in corso/terminate)

Requisiti

Cose utili per chi si voglia cimentare:

  • LaTeX (non accetto più elaborati in Word/Libreoffice o altro)
  • git (non esiste che uno studente del nostro dipartimento esca da qui senza conoscerlo, inoltre è il sistema con cui condivido tutto il materiale delle tesi, note, commenti, etc.)
  • progettazione e programmazione a oggetti
  • nozioni di ingegneria del software
  • sistemi operativi Unix/Linux o sistemi analoghi (lo sviluppo avviene su Linux mentre Windows viene lasciato in disparte e caldamente sconsigliato), chi non sa usare una shell eviti di contattarmi
  • capacità di cercare materiale e documentazione (prima di iniziare qualunque lavoro è necessario conoscere ciò che è stato già fatto nel mondo)
  • spirito critico
  • metodo e disciplina interiore
  • indipendenza
  • intraprendenza
  • propositività

Nota bene: tratto solo argomenti di tesi che si occupino di Software Libero e tutto il software prodotto deve essere pubblicato con una licenza libera.

Template LaTeX per tesi




Analisi dati aria Milano e Lombardia

Da molti anni faccio scraping dei dati da ARPA Lombardia (cfr. http://arcipelagoareac.it/CSV/) e ho già realizzato molte analisi interessanti (che hanno dato adito a pubblicazioni). Il fatto importante è che ARPA, dopo anni di “pungolo” (anche io ho pubblicamente redarguito ARPA per aver sempre reso difficile il download dei dati storici), a Dicembre 2017 ha reso pubblici TUTTI i dati aria, anche storici, sul portale della Regione Lombardia. Questa proposta di tesi mira a due scopi:

  • fare una verifica tra i dati scraped e quelli ufficiali per vedere se ci sono discrepanze
  • estendere le analisi fatte finora (effetti dei blocchi e delle ZTL, trend cronologici, ecc.)

Consigliata conoscenza di R.

Analisi dati bike sharing Milano

Da alcuni anni catturo i dati del BikeMI, vorrei cominciare a esplorare il dataset e trarre qualche conclusione interessante, specie ora che sono scesi in campo altri provider (Ofo, Mobike).

Consigliata conoscenza di R.

[IN CORSO] ANALISI TOX (E RELATIVO PROTOCOLLO/ARCHITETTURA) E CONFRONTO CON PIATTAFORME SIMILI (SKYPE/VOIP-SIP/JITSI/ETC.)

Tox (http://tox.im) è un sistema di messaggistica (e telefonia e videochiamata) completamente distribuito (basato su DHT), non dipendente da una autorità centralizzata.

E' completamente libero (GPL), ha client per le più diffuse piattaforme, il traffico è crittografato (verificare) e molto resiliente (no “single point of failure”).

Questa proposta di tesi si prefigge lo scopo di verificare strumentalmente (metriche/misurazioni) le caratteristiche funzionali, fare un confronto funzionale (e, ove possibile in caso di disponibilità del sorgente, architetturale) ed eventualmente ipotizzare e testare l'implementazione di servizi aggiuntivi basati sul protocollo.

(per laurea triennale o magistrale)

ANALISI IPFS (E RELATIVO PROTOCOLLO/ARCHITETTURA) E CONFRONTO CON PIATTAFORME SIMILI

IPFS (http://ipfs.io) è un “filesystem” completamente distribuito (basato su DHT), non dipendente da una autorità centralizzata. E' completamente libero (GPL), è molto resiliente (no “single point of failure”). Attualmente è in versione alpha.

Questa proposta di tesi si prefigge lo scopo di verificare strumentalmente (metriche/misurazioni) le caratteristiche funzionali, fare un confronto funzionale (e, ove possibile in caso di disponibilità del sorgente, architetturale) ed eventualmente ipotizzare e testare l'implementazione di servizi aggiuntivi basati sul protocollo, servizi orientati alla distribuzione di contenuti multimediali relativi al contesto museistico.

(per laurea triennale o magistrale)

[IN CORSO, ma c'è spazio per estensioni] Confronto fra mezzi pubblici e mezzi privati sulla base dei dati Google e ATM

Usando le API di Google e facendo scraping dal sito ATM Giromilano è possibile confrontare un tragitto (da A a B) effettuato con i mezzi pubblici e con un mezzo privato.

L'idea è quella di usare i dati car2go (ne faccio scraping da quando sono partiti) per avere una base di tragitti reali in auto per stilare una classifica dei confronti mezzo pubblico/ mezzo privato su base reale.

Il lavoro non è banale, specie lo scraping di ATM, ma di grande soddisfazione.

Output: uno studio sulla performance dei mezzi pubblici vs. mezzi privati in base a giorno, orario, distanza, zona, etc.

Tagged context distributed mirrored (e chi più ne ha più ne metta) filesystem

Tutto da pensare…

FIXME esiste git-annex che si avvicina molto all'idea

FIXME integrare https://www.nayuki.io/page/designing-better-file-organization-around-tags-not-hierarchies

Un filesystem distribuito e sincronizzato anche offline, basato su tag (e non su directory), che supporti anche dispositivi mobili, deve permettere di avere su ogni nodo (pc, notebook, cell) una “vista” selezionata dei propri dati/documenti

Nota bene: i pezzi sono già tutti esistenti, c'è “solo” (non è cmq banale) da integrare il tutto

es.

Primi step

  • state of the art dei tagged filesystem
  • state of the art dei distributed filesystem

(potrebbero diventare tesine separate)

[fatto, ma si può estendere] Linux boot (o anche un generico filesystem) via bittorrent

FIXME GSoC

Per fare il boot da rete di molte macchine contemporaneamente (es. in caso di un'aula didattica - es. SiLab) si può pensare di usare bittorrent in fase iniziale?

Ad esempio fare un miniboot (via PXE) per poi lanciare un download bittorrent del vero initrd…

Avrebbe senso? Migliorerebbe i tempi di boot? Probabilmente sì se il bottleneck è il server vedi ad es. aula didattica fatta partire da un portatile con knoppix o simili)

(claro che la rete deve essere “switchata” o anche meglio se geografica)

cfr. Tesi Bruschi, ora sarebbe da espandere in un generico filesystem via bittorrent… e fare studi comparativi con sistemi esistenti (vedere link in fondo alla pagina della tesi realizzata)

In ogni caso...

Si accettano richieste, proposte e suggerimenti che coinvolgano:

  • Arduino e simili (piattaforme embedded, IoT, etc.)
  • Software Libero