Projects

A selection of the projects I have completed so far at 42 Berlin. Most of my work up to this point has been in C, Unix systems, and problem solving at a fairly low level.

Projects I want to highlight

Minishell

GitHub

A small Unix shell in C with parsing, environment expansion, pipes, redirections, and signal handling.

This was my first group project at 42 Berlin. It helped me understand how shells manage processes, input and output, and collaboration on a larger C codebase.

CUnixParsing

push_swap

GitHub

A sorting project built around minimizing operations across two stacks.

The challenge here was not sorting itself, but finding a strategy that worked well within a very limited set of operations.

CAlgorithmsData Structures

so_long

GitHub

A small 2D game in C using MiniLibX, with map validation, rendering, and keyboard input.

This was my first graphics project. It brought together parsing, validation, and event handling in a way that felt different from my earlier terminal-based work.

CGraphicsMiniLibX

Born2beRoot

GitHub

A Linux system administration project focused on virtual machine setup, users, sudo, basic hardening, and monitoring.

This project was less about writing application code and more about learning how to set up a Linux environment carefully and understand permissions and security basics.

LinuxSysadminShell

Earlier projects

These earlier projects are smaller, but they helped me build the C and Unix basics I needed for later work.

minitalk

GitHub

A small client-server messaging program in C using Unix signals.

This helped me get more comfortable with process communication by sending data one bit at a time through signals.

CSignalsIPC

libft

GitHub

A foundational C library with reimplemented string, memory, and linked-list functions.

This was one of the first projects where I started to get comfortable with pointers, memory handling, and writing reusable functions in C.

CPointersLibrary

ft_printf

GitHub

A reimplementation of printf in C using variadic arguments and format parsing.

A small project that made me think carefully about parsing format strings, handling different types, and dealing with edge cases.

CVariadic FunctionsParsing

get_next_line

GitHub

A line-by-line file reader in C with persistent state across function calls.

This project was small, but it was useful for understanding file descriptors, buffering, and the edge cases that come up with incremental reading.

CI/OFile Descriptors