Contributing to the Linux Kernel: A Practical Roadmap

Preface A friend of mine recently asked for my consultation on creating a roadmap for them on how to contribute to a big open-source project like the Linux kernel. I took the chance and tried drafting a simple blog post of what I thought would be a good general guideline to approach such a task. Contributing to the Linux kernel can feel like an overwhelming challenge. After all, it’s one of the most complex and influential pieces of software in existence, powering everything from smartphones to supercomputers. But for those with a passion for Linux and open source, becoming a contributor is not only possible, it’s incredibly rewarding. Whether you’re looking to improve your knowledge of operating systems, sharpen your coding skills, or simply give back to the community, this guide will walk you through the steps you need to take to make your first contribution to the Linux kernel. ...

November 3, 2024 · 8 min · Kia Raad

Navigating the Unknown: How to approach a new and unfamiliar codebase

If you’re anything like me, diving into a new and unfamiliar codebase can feel like being dropped into a dense forest without a map. Whether you’re joining a new team, taking over a project, or just exploring an open-source project, understanding its nature, purpose, and architecture is essential. Let me share how I tackle this challenge, while giving examples using C# and .NET projects. Lets dive into the process… Initial Assessment Before I dive headfirst into the code, I take a moment to understand the broader context. The first thing I do is find and read any available documentation.This can include README files, wikis, inline comments, and API documentation. These resources often provide invaluable insights into the project’s purpose, setup instructions, and usage. I always try to get a sense of the project’s primary objective —whether it’s a web application, a library, or a microservice— because understanding the scope helps in setting the right expectations. ...

August 8, 2024 · 5 min · Kia Raad

Genesis

It’s customary to write a Hello World! app when one starts to familiarize oneself with a new language / framework. So I’ll start my journy with the same approach in the most famous esolang, AKA brainfuck. -[------->+<]>+++.-[--->++++<]>+.[--->+<]>---.[---->+<]>+++.---[->++++<]>.------------.---.--[--->+<]>-.[->+++<]>++.++++++++++.+++.--------..++.+++++.-------.-[--->+<]>--.[->+++<]>++.+++.++.++.+++++.>++++++++++..[->+++<]>+.--[-->+++<]>.[--->++<]>++.--[-->+++++<]>.-----[-->+++<]>.--------. Oh BTW, you can find the output here.

January 3, 2020 · 1 min · Kia Raad