fract-ol
A fractal explorer (Mandelbrot, Julia, Burning Ship) with mouse zoom and keyboard navigation, rendered pixel by pixel with MiniLibX.
view code →$ ./fractol burningship
$ ./fractol julia -0.8 0.156
Developer · Student at 42 Paris
● Looking for an apprenticeship, internship, fixed-term or permanent job
Hardware enthusiast and former roofer and team leader, I retrained as a developer at 42 Paris, where I built a wide range of projects: systems, networking, graphics and web.
A fractal explorer (Mandelbrot, Julia, Burning Ship) with mouse zoom and keyboard navigation, rendered pixel by pixel with MiniLibX.
view code →$ ./fractol burningship
$ ./fractol julia -0.8 0.156
An IRC server in C++98, compatible with real clients (irssi). Non-blocking event loop with epoll, channel and operator management. Pair project.
$ ./ircserv 6667 secret
$ nc -C 127.0.0.1 6667
PASS secret
NICK alehamad
USER alehamad 0 * :Alexandre
:irc.local 001 alehamad :Welcome to the Internet Relay Chat network alehamad
JOIN #42paris
:alehamad!alehamad@localhost JOIN :#42paris
view code →
The 10 C++ modules of 42 (CPP00 to CPP09) in C++98: classes, canonical form, inheritance, polymorphism, exceptions, casts, templates, STL containers and Ford-Johnson sort.
$ tree -L 1
.
├── README.md
├── cpp0
├── cpp1
├── cpp2
├── cpp3
├── cpp4
├── cpp5
├── cpp6
├── cpp7
├── cpp8
└── cpp9
11 directories, 1 file
view code →
A bash-like shell, built as a pair. Every line goes through a lexer, a parser and an expander before it runs: quotes, variables ($VAR, $?), pipes, redirections and heredocs. It also handles built-ins (cd, export, exit…) and signals (Ctrl+C, Ctrl+D, Ctrl+\) like bash.
My part: the lexer, the parser, the expander and environment handling.
view code →$ ./minishell
minishell# echo "Hello $USER" '$HOME is not expanded here'
Hello alehamad $HOME is not expanded here
minishell# export GREETING="hi there"
minishell# echo $GREETING | tr a-z A-Z > out.txt
minishell# cat < out.txt
HI THERE
minishell# unknown_cmd
minishell: unknown_cmd: command not found
minishell# echo $?
127
minishell# exit 42
exit
A Wolfenstein 3D-style raycasting engine (DDA algorithm): parses a .cub map and renders textured walls in real time with MiniLibX. Pair project.
$ ./cub3D map/map_valid/map.cub
MesPapiers: an AI-powered paperwork assistant (document reading, deadline alerts) with a mutual-aid community. Team of 4.
Common core completed: 20+ projects in C, C++, networking, systems and web. Now continuing with 42 Advanced towards a state-certified (RNCP) degree.
Led a team of 2 to 3 people, organized job sites and met deadlines, handled quotes and client relations.
Got a question or an opportunity? Get in touch: