This repository contains a collection of my assignments and coursework from my studies at 42, starting in April 2024 and ongoing. These projects emphasize low-level programming, algorithms, and problem-solving using C and shell scripting.
Here is a list of some of the projects included in this repository:
Rank 00 - Libft
- Libft is a custom C library that reimplements essential standard C functions, focusing on string manipulation, memory management, and linked lists. It serves as a foundation for many future projects in the 42 curriculum.
- Tech stack: C, Memory management, Data structures
Rank 01 - ft_printf
- The ft_printf project involves re-creating the printf function in C, handling various format specifiers and providing formatted output while optimizing for performance.
- Tech stack: C, Formatting, I/O
Rank 01 - get_next_line
- Implementation of a function that reads and returns a single line from a file descriptor, a key utility for handling file I/O in C.
- Tech stack: C, File I/O, Buffer management
Rank 01 - Born2beroot
-
Born2beroot focuses on setting up a virtual machine with specific security measures, teaching the fundamentals of system administration and server management using Linux.
-
Tech stack: Shell, Debian, UFW (Uncomplicated Firewall), VirtualBox, SSH, cron, rsync, sudo, systemd, User and Permission Management, Network Configuration, Monitoring Tools
Rank 02 - push_swap
-
The push_swap project challenges you to sort a stack of integers using two stacks and a limited set of operations (push, swap, rotate, and reverse rotate). The goal is to minimize the number of operations, requiring efficient algorithm design and optimization.
-
Tech stack: C, Sorting algorithms, Stack manipulation
Rank 02 - minitalk
-
The Minitalk project creates a communication system between processes using Unix signals, enabling string transfers in a secure and efficient way.
-
Tech stack: C, Unix signals, IPC (Inter-Process Communication)
Rank 02 - so_long
-
So_long is a 2D maze game developed using the minilibX graphics library. The project involves creating a small game where the player collects items and navigates through a map.
-
Tech stack: C, Game development, minilibX