Technical Case Studies
Engineering robust, scalable, and stable software solutions through low-level systems programming.
Minishell: System Architecture
The Challenge: Developing a fully functional POSIX-compliant shell from scratch, requiring complex kernel-level integration and process synchronization.
The Solution: Engineered a custom Lexer and Parser in C to manage command execution pipelines. Implemented precise process management using file descriptors and environment variable tracking.
Technical Proof:
- Orchestrated Process Forking and seamless Redirections.
- Implemented robust Signal Handling to prevent system hangs.
- Maintained 0% memory leakage under recursive testing conditions.
Philosophers: Concurrency
The Challenge: Solving the synchronization bottleneck where multiple threads compete for shared resources, leading to deadlocks or data races.
The Solution: Applied Thread Synchronization using Mutexes and precise timing logic. Built a monitoring system to ensure resource stability without freezing the CPU.
Technical Proof:
- Eliminated Data Races through strict resource protection logic.
- Engineered millisecond-accurate monitoring for thread vitality.
- Optimized shared memory access to ensure 100% deadlock prevention.
Cub3D: Graphics Engine
The Challenge: Generating a real-time 3D perspective without the aid of modern GPUs or high-level gaming frameworks.
The Solution: Built a custom Raycasting Engine. Manually calculated trigonometry and Euclidean geometry to render textured environments at high refresh rates.
Technical Proof:
- Optimized algorithms for **consistent 60FPS performance**.
- Developed custom parsing for map stability and error handling.
- Implemented texture mapping and collision detection at the pixel level.