Here is a list of some of my projects. This list unfortunately excludes private projects or projects that for some reason never saw the light of day.

Categories

EpiPolicy

EpiPolicy is a population-based epidemic simulator and policy aid that allows users to customize its compartmental model to capture different epidemic scenarios for epidemics like COVID-19. Its user interface makes it easy to define various interventions such as social distancing, school closure, vaccination, and disease-specific interventions. EpiPolicy aids policy makers by simulating and constructing locale-specific intervention schedules that reduce disease burden, and minimize social and economic costs.

Developed together with Zain Tariq and Mai Le Xuan Anh, and coordinated by Prof. Azza Abouzied and Prof. Dennis Shasha.

  • App
  • Databases
  • Python
  • Javascript
  • Docker
  • React
  • D3

sPaQL TooLs

sPaQL TooLs is a Stochastic Package Query Interface for Scalable Constrained Optimization. For example, given uncertain predictions for future stock prices based on financial models derived from historical data, sPaQL TooLs finds and displays to the investor a set of trades that will maximize the expected future gain, while ensuring that a loss will only happen with a certain probability.

Developed together with Matteo Brucato, coordinated by Prof. Azza Abouzied and Alexandra Meliou.

This project won Best Demo Award during the VLDB’20 conference.

  • App
  • Research
  • Databases
  • AI
  • Javascript
  • Python
  • React
  • D3

Synner

Synner is a tool that helps users generate real-looking synthetic data by visually and declaratively specifying the properties of the dataset such as each field’s statistical distribution, its domain, and its relationship to other fields.

Sole developer, coordinated by Prof. Azza Abouzied.

  • App
  • Library
  • Research
  • Databases
  • AI
  • Java
  • Javascript
  • Angular
  • D3

Texture

Texture is a framework for data extraction over PDF documents. Developers write and manage heuristics, while Mturk workers and end-users contribute by providing ground truth.

Developed together with Maeda Hanafi, and some help from other students, coordinated by Prof. Azza Abouzied.

  • App
  • Library
  • Research
  • Databases
  • AI
  • Java
  • Javascript
  • React
  • D3

Qetch

Qetch is a tool that allows users to freely sketch patterns on a scale-less canvas to query time series data without specifying query length or amplitude.

Sole developer, coordinated by Prof. Azza Abouzied.

This project won Best Paper Award during the SIGCHI’18 conference.

  • App
  • Research
  • Databases
  • Javascript
  • Angular
  • D3

Light-1 CubeSat

This satellite took off in 2021, onboard a SpaceX Falcon 9, and deployed from the ISS. It captures Terrestrial Gamma-ray Flashes from thunderstorms and lightning, and it sends measurements back to Earth. The payload firmware was written in C++, for a STM32 microcontroller, using FreeRTOS as operating system, and Cubesat Space Protocol for communication.

On my spare time I helped other friends at NYUAD writing the firmware for this satellite. Mainly fixing bugs, implemented new features for the communication part, and implemented ways to detect long term errors (e.g memory leaks).

  • Research
  • C/C++

ProSharpener

ProSharpener is a plugin for Photoshop to sharpen, resize, and execute many other operations in your photos. Important features: algorithms for the creation of edges mask to avoid sharpening halos, and sharpening separation.

Sole author/developer.

  • App
  • Photoshop
  • Photography

Miro’s Windows Manager

A productivity tool for moving and resizing windows by only using the keyboard.

Main developer/author with the help of awesome contributors.

  • App
  • LUA
  • OSX

Justified Gallery

Javascript library to help creating high quality justified galleries of images. Used by thousands of websites as well as the photography community 500px.

Main developer/author with the help of awesome contributors.

  • App
  • Library
  • JavaScript
  • JQuery

StrategyOne

During my experience at CRIF S.p.A. I was the main developer for the new version of StrategyOne, a multi-purpose decision engine used to calculate credit scores in Italy (i.e. Eurisc) as well as in other countries and companies. This new version is able to manipulate hierarchical data by using a custom language and other graphical components. There was an average of 93% performance gain over the older version, despite the latter was only able to work with simpler tabular data.

Main developer for the new version codebase, coordinated by the software architect Stefano Maioli. Part of a larger team with Project managers, UI developers, and software testers.

  • Java

Lucky Scratch! Scratch Cards!

A scratch card game for Android I made for an university project. A social experiment, as I like to call it, that had more than 150.000 downloads.

Sole author/developer.

  • Game
  • Java
  • Android

Contributions Importer for GitHub

A tool to help users to import contributions to GitHub from private git repositories, or from public repositories that are not hosted in GitHub.

Main developer/author with the help of awesome contributors.

  • Library
  • Python
  • Git

Ruzzle Solver

A fast solver for Ruzzle, used by more than two million users.

Sole author/developer.

  • App
  • JavaScript
  • C++
  • PHP

Multi Level Networks Model

The aim of this project is to create a model and query language for multi-level networks analysis. For example we have a network (e.g. LinkedIn) where people are connected if they are colleagues, and another network (e.g. Facebook) where people are connected if they are friends).
It is based on path pattern recognition algebra. It provides selection, projection, aggregation, join, and synthesis operators.
This project is exhaustively described in my Master Thesis (in Italian). It contains the code for the implementation of the model, and the operator as defined in the thesis to query the data.
  • Library
  • Java
  • Database

pubcFS

pubcFS is a virtual file system that encrypts folders and files on-the-fly. It uses asymmetric keys (i.e. RSA) in order to make it possible to share the encrypted folders with other users.
It is implemented in C, using FUSE, which make it possible to install this filesystem in the userspace rather than in kernel space.

Sole author/developer.

  • Library
  • Linux
  • File System
  • OSX
  • C
  • FUSE

MExpr

A C++ library which parses human-like arithmetic expressions like
-3xy^2 - 3(xy + 3)(-5x + y)
The library has been made using bison and flex. Features: implicit multiplications, AST manipulation and evaluation, bytecode compilation and evaluation, custom functions, functions overloading, dynamic environment.

Sole author/developer.

  • Library
  • Linux
  • OSX
  • C++
  • Bison
  • Flex
  • GoogleTest

Markov Decision Process Examples GUI

Simple GUI and algorithms to play and learn Markov Decision Process developed for a talk I conducted about Artificial Intelligence.

Sole author/developer.

  • App
  • Research
  • Databases
  • D3
  • Angular

Wi-Fi Control

A simple Alfred Workflow to control Wi-Fi. It can turn on, turn off, toggle or restart the Wi-Fi.

Sole author/developer.

  • App
  • Python
  • AppleScript
  • OSX

New Terminal Window

A simple Alfred Workflow for quickly opening terminal windows.

Sole author/developer.

  • App
  • Python
  • AppleScript
  • OSX

Flickr Justified Gallery for WordPress

Plugin that allows you to show your Flickr photostream, photosets, galleries, group pools, or tags in your WordPress blog, with an elegant compact layout, using Justified Gallery.

Sole author/developer.

  • WordPress
  • PHP
  • JavaScript

Miro WordPress Theme

Minimal, Clean and Responsive WordPress Theme, realised using Sage and Bootstrap 4. This theme is used by this website!
Dark version demo: miromannino.com/photography

Sole author/developer.

  • WordPress
  • PHP
  • Bootstrap
  • D3
  • SVG

Ultra Race 2009

2D Racing game for PC, realized solely using Java 2D, without use of any game engine. The car can drift leaving marks on the road, and it implements a constant time collision detection system.

Sole author/developer.

  • Game
  • Windows
  • Linux
  • OSX
  • Java
  • Java2D

Miro Rubix

A simple puzzle for PC inspired by the famous game called Rubik’s Cube.

Sole author/developer.

  • Game
  • Windows
  • Linux
  • OSX
  • Java
  • Java2D

Miro Rubix for PSP®

A simple puzzle for PSP ® inspired by the famous game called Rubik’s Cube.

Sole author/developer.

  • Game
  • PSP®
  • C/C++
  • Oslib

MirCronometro

An accurate stopwatch for for PSP®. It evaluates best time, worst time, and the average time. It works also when the PSP® is in standby mode. Capability to memorize intermediate times. You can use it as a metronome.

Sole author/developer.

  • App
  • PSP®
  • C/C++
  • Oslib
Other projects will be added soon…