Table of Contents

TLDR

It's a me, zom. I like Math and Computers, I'm what happend when you can't choose a single career path. 你好!我刚开始学中文!

Security

I play Capture The Flags with the Italian Teams @mHackeroni (4 times DEFCON finalists) and @towerofhanoi (The oldest CTF team in Italy).
I specialize in Reverse engineering and Pwning. Expecially on the topics of Fuzzing, Compilers, Interpreters, and Emulation.

Machine Learning

With my colleagues, I implemented high-performance Graph Machine learning models in Rust, currently I'm focussing on scalable Natural Language Processing.

I collaborated and applied my research with the following laboratories: BBOT @ LBL, Monarch Institute, The Jackson Laboratory, AnacletoLAB, San Raffaele. These collaborations resulted in several published papers on drug reporpousing.

Computer Science & Math

I enjoy compilers, high performance code, system programming, low level, Statistics, Information Theory, Category Theory, and Optimizzation.

I've implemented in Rust succint and lock-less datastructures such as:

In the last 2 years I focussed on graph data-structures and parallel algorithms for graphs.

Hardware

One of my current side-projects is to write an USB1.1 sniffer using a cheap Raspberry Pico. USB1.1 (Full Speed) has a bandwidth of 12MHz, and we need to sample around 4 times faster than the bandwidth. On a Raspberry Pico, which runs at 125 MHz, we have $$\frac{125\text{MHz}}{4 \cdot 12\text{MHz}} \approx 2.6 \frac{\text{Cycles}}{\text{Sample}}$$. I'm trying to achieve this writing a baremetal os in Rust which uses the PIO to sample the data and DMA it directly to the USB controller buffers.

My usecase for this project is to experiment with electromagnetic fault injections to dump the bootroom of a chip.