Giovanni's Diary > Subjects > Programming >
Giovanni Santini - CV
I am an Italian computer science student focusing on operating systems, Linux system administration, cloud computing and security.
Goal
My goal is to develop a career in the field of system programming that gives me the opportunity to contribute to technology and learn every day in a collaborative environment that fosters innovation.
Education
Bachelor Degree in Computer Science at the University of Trento. My courses were the following:
- Computer Architectures, Operating Systems, Parallel Computing, Algorithms and Data Structures, Databases, Networking, Software Engineering, Calculus 1, Introduction to Computer and Network Security, Formal Languages and Compilers, Probability, Programming 1 and 2, Advanced Programming, Physics 1, Functioncal Programming, Linear algebra, Mathematical Foundations for Computer Science, Introduction to Web Programming, Logic, Introduction to Machine Learning.
Cyberchallenge
- I participated in the cybersecurity course Cyberchallenge in 2021, held at the Università Politecnica delle Marche, achieving first place in the internal competition and qualifying for the national Attack and Defense competition. The course introduced me to the fundamental concepts of cybersecurity with a hands-on approach through the CTF (Capture The Flag) format.
Experience
Summer internship at Dynatrace in Linz, Austria, working in the Cloud Security Research team to study the use of eBPF programs on Kubernetes clusters.
Projects
- I develop and maintain Kivebpf, a free and open source eBPF-powered file access monitoring Kubernetes operator. Kivebpf provides a stable API to place inode-based traps on files and receive alerts when a file is accessed. The project is supervides by Bruno Crispo from the University of Trento and made in collaboration with Dynatrace.
- Languages and Frameworks: C, Go, Kubernetes, eBPF
- I developed an antivirus damenon written in C++ and a linux kernel module. It incorporates static malware analysis capabilities through signatures and rules, a simple kernel level firewall, a sandboxed execution environment, and a kernel module to collect information about calls to system calls.
- Languages and Framewroks: C, C++, kprobes, netlink, character devices, sqlite, cmake
- A modern and cross-platform library for multi-threaded testing, fuzzing and benchmarking for C++17 code. The library lets the user quickly benchmark functions and produce reports in different formats, it’s been used in different projects such as tenno-tl and for my parallel computing coursework.
- Languages and Framewroks: C++, cmake
Certifications
NVIDIA, Fundamentals of Accelerated Computing with OpenACC, Hackathon 1º place:
- I partecipated in a two days workshop introducing the basics of accelerated computing using OpenACC, a powerful directive-based programming model. I learned how to optimize and parallelize code to fully leverage the capabilities of modern GPUs and CPUs.
- The event ended with an hackathon about optimizing a machine learning model, I achieved first place.
Contacts
- email: giovanni.santini@proton.me
- github: San7o
- blog: Giovanni's Diary
- mastodon: @santo7@mastodon.social
- youtube: @giovannis-diary
Travel: Programming, Index