| Extended libft C library |
My extended 42 libft, rebuilt from scratch plus a custom toolkit: buffer-tracking ft_malloc/ft_free/ft_realloc, get_next_line, and 2D-array helpers. |
| Per-call file line reader |
Hands back one newline-terminated line per call from a file descriptor, with string helpers I wrote from scratch. The bonus juggles up to 256 fds at once via a static save[256][BUFFER_SIZE+1]. |
| Custom printf with multiple outputs |
My own take on printf, shipped as libftprintf.a. I pushed past the assignment with three entry points: ft_printf to stdout, ft_dprintf to any fd, and ft_sprintf returning a heap string. |
| Two-stack integer sorter |
My take on the push_swap challenge: sorting integers across two stacks with a minimal restricted op set, using a cost-based greedy chunk sort that scores each element's cheapest rotation path. Ships with a bonus checker binary. |
| MiniLibX collect-and-exit tile game |
A MiniLibX 2D tile game on grid maps from .ber files: grab every collectible, then head for the exit. I went past the subject with enemy monsters and a flood-fill validator that proves the level is solvable before launch. |
| Wolfenstein-style raycasting engine |
My Wolfenstein-style raycasting engine in MiniLibX: it parses a .cub scene file and renders a real-time textured 3D maze with DDA ray-grid traversal. I love how paranoid the map parser is. |
| Arbitrary-length shell pipeline emulator |
My take on the shell pipeline: each command in ./pipex infile cmd1 cmd2 outfile gets its own forked child wired with anonymous pipes, and I pushed past the mandatory two to chain any number of pipes. |
| AST tree-walking Bash clone |
A from-scratch Bash clone I'm proud of: it lexes input, builds a weighted AST of pipes, &&, ||, and subshells, then tree-walks it, forking with pipe/dup2 while running built-ins in-process. |
| Improved operator-precedence Bash shell |
My improved, more-powerful minishell: it lexes input, builds an operator-precedence AST for |, &&, ||, ; and subshells, then forks/execs with full redirection, heredoc, expansion, and nine built-ins. |
| Dining Philosophers concurrency simulation |
My take on Dining Philosophers, built twice (threads + mutexes, then forked processes over POSIX semaphores), where the hard part is grabbing two forks without ever deadlocking before time_to_die. |
| x86-64 libc assembly library |
My own libc routines hand-written in x86-64 NASM (libasm.a), down at the syscall/register level, including an atoi_base built from scratch with full base validation. |
| Tracking malloc/free garbage collector |
A drop-in malloc/free replacement backed by a garbage collector: every ft_malloc becomes a node in a linked list, so one destroy_garbage() tears it all down at once. |