Selection of projects
Currently active programming projects
-
MellOS (A minimal, collaboratively written kernel)
I have been working on this project on and off for several years, with the help of many collaborators from all over the world. Our initial goal, which I would say we achieved, was to write a simple kernel with a minimal command line interface, which would allow the user to read and write files and run executables. We are now working on making it less minimalistic by improving memory allocation, adding multi-processing, and developing a graphical interface library. -
Perk (A low level programming language with modern features)
This is a collaboration with Alessandro Scala, PhD Student @ University of Edinburgh. Alessandro is a main contributor to MellOS, and we share the opinion that the C programming language, in spite of its simplicity and elegance, is a pretty cursed and old fashioned language. This is why we decided to start working on Perk, a more modern language (with typeclasses, option types, lambdas...) that compiles down to C, providing a rich compatibility layer with it. Currently it's in a bit of an embryonic state, but we're working on it at a frantic, almost unhealthy pace.
Recreational/Educational Computer Science
- λ-compiler: An x86 compiler of the λ-calculus.
- OCaml-Turing-Machine: An OCaml implementation of the Turing Machine
- DEL Model Checker: A web-based tool for Dynamic Epistemic Logic (DEL) model checking and visualization.
- FDI Proof Assistant: A theorem prover web interface made for the Computer Science Department at UniPi. This theorem prover is currently being used for the foundation of informatics course at the University of Pisa, yet I am no longer its lead developer.
- λ-maj7: My earliest (bad) attempt at an interpreter.
Smaller Projects
Complex Systems
- Road Network Simulator: A microscopic / macroscopic traffic simulator (UNI)
Green Computing
- CORDIC FixedPoint: A performance test for trigonometric functions (UNI)
Computer Graphics
- CG project (UNI)
Maths Visualization
- PySimplex2D: Symplex algorithm in $\mathbb R^2$.
- PyNewton: Newton's method for single (real) valued functions.
- PyNewtonFractal: The fractal that arises from Newton's method in the complex plane.
- PyGraphTheory: A selection of graph algorithms and visualizations
- PyLattice: A simple tool for visualizing and animating 2D lattices
Notes
- $\LaTeX$'d version of Chapter 4 of professor Bigi's Operations Research notes, in Italian; now published on the professor's website. (UNI)