Project for ETHRome2025 - hackathon Web3.The world’s first protocol for AI notarization. Notarize any message — human or AI — on-chain with privacy.PanAI makes provenance free, smart, and autonomous with AI-driven notarization that costs near zero.
A fully custom-built HTTP server in C++, designed to replicate the behavior of Nginx. Supports advanced CGI handling, network communication, and is highly configurable through Nginx-style configuration files.
A simple Unix shell, built from scratch in C. Implements core shell features such as command execution, piping, redirection, environment variable handling, and basic signal management. The project requires implementing process management with `fork()`, handling input and output redirection, managing child processes, and interpreting commands from the user. A great exercise for understanding the fundamentals of how a shell works in a Unix environment, including system calls and process control.
A 3D game engine inspired by Wolfenstein 3D, using raycasting to render a pseudo-3D environment from a 2D map. Developed using MiniLibX for graphics rendering, this project involves creating a basic game engine that simulates 3D visuals on a 2D plane. Key concepts include raycasting, wall detection, and implementing basic player movement within the virtual world.
A simulation of the classic dining philosophers problem, implemented using threads. This project focuses on multithreading, mutexes, and concurrency management to avoid deadlocks and ensure synchronization between philosophers. As a bonus, the project can be extended to use processes instead of threads, involving process forking, inter-process communication (IPC), and synchronization using shared memory and semaphores.
An algorithm for sorting stacks with a limited set of operations. Focuses on optimizing the number of moves to achieve the correct order, using efficient sorting techniques.
A 2D graphical game developed with MiniLibX. The player navigates through maps, collects items, and aims to reach the exit. Involves basic game development mechanics such as collision detection and object interaction.
A client-server communication system using Unix signals. Implements inter-process communication (IPC) with a minimalist approach under strict coding standards, focusing on bitwise operations and signal handling.
Reimplementation of the standard C `printf` function. Supports various format specifiers, flags, width/precision, and variadic arguments to simulate the behavior of `printf` in C.
A function for reading lines from a file descriptor. Manages multiple file descriptors and dynamic memory, adhering to strict coding standards and ensuring efficient memory handling.
A custom C library created as part of the first project at 42. Includes reimplementations of standard functions, utilities, and data structures like linked lists and dynamic memory management.