Project Get Next Line (GNL)

Overview

The Get Next Line (GNL) project at School 42 aks us to create a function that reads a line from a file descriptor, effectively enabling sequential reading of a file line by line. This project focuses on file manipulation, memory allocation, and the intricacies of handling file descriptors in C.


Disclaimer

🚨 Disclaimer: 🚨 I believe in transparency and growth. This project reflects my learning journey, and it might contain errors or mistakes. These imperfections are valuable, representing the learning process inherent in every project. Embracing these errors fuels progress and improvement. If you came here looking for my code capabilities, please consider the whole picture.


Importance of Authentic Learning

📚 Authentic Learning: 📚 At its core, School 42 encourages a culture of authentic learning. The emphasis lies not only in flawless execution but in understanding concepts, problem-solving, and honing coding skills. Copying or cheating dilutes the essence of this learning experience, hindering personal growth and skill development. For 42 students who might read this, I strongly advocate for discussing concepts with peers instead of directly referring to this code. If you came here for advices, my advice would be: learn to test your code, go read about test driven development.


What is School 42?

🏫 About School 42: 🏫 School 42 is a unique coding school that operates under a peer-to-peer learning system. It fosters an environment where students learn by doing, collaborating, and problem-solving. At School 42, the projects are designed to impart practical knowledge and skill-building rather than focusing solely on theoretical aspects.


Coding Foundations: The GNL wall

🧠 What future-me thinks he learned coding GNL: 🧠 Starting GNL felt like hitting a wall several times in a row and enjoying it. Understanding and using static variables was a challenge back then that now seems trivial. I also had a lot to learn about files in UNIX systems, and file descriptors which proved tricky when trying to test my own code. This project helped me learn a lot about memory allocation, what a program leaking means when using dynamically allocated memory. How to make your choose between stack and heap usage. It also helped me get more confident when coding, mostly because I had to re-write everything from scratch several times to fix my errors. Following coding norms also became a habit through this experience.