Design patterns are the shared language of software design. They capture proven solutions to recurring problems, helping us write code that’s more flexible, maintainable, and easier to reason about.
After 2.5 years of working professionally as a software engineer, I’ve come to realize how deep and nuanced modern C++ can be—far beyond the basics most of us learn in school or pick up on the job. This blog is my personal space to revisit, revise, and strengthen my understanding of advanced C++ topics. I hope you'll find something useful here.
Prompt engineering is about asking AI the right way. As AI tools become part of daily work and learning, the quality of their output depends largely on how clearly we communicate our intent. This blog shares simple, practical techniques for writing better prompts so you can get more accurate, useful, and consistent results from AI.
This blog is my learning notes while reading Game Engine Architecture. I’m using it to understand how game engine works under the hood and to keep track of what I learn along the way.
This blog is my learning notes while reading Linux Kernel Development. I’m using it to understand how Linux works under the hood and to keep track of what I learn along the way.
Distributed systems run across multiple machines to deliver reliable, scalable services. They bring unique challenges like communication, coordination, and fault tolerance. In this post, I’ll cover some core ideas to build a basic understanding of how they work.
Understanding how a C++ program goes from source code to an executable is fundamental for writing efficient, portable, and well-debugged code. Yet, the compilation process often feels like a black box to many developers.
This is my revision notes for Parallel And Distributed Computing. In this post, it will cover fundamental concepts and trade-offs behind parallel and distributed applications, designs and implementations for parallel and distributed applications, as well as performance analysis.
In this post, I will go through some deeper concepts in C++ such as compiling, linking, some other keywords, smart pointers, C++ libraries, multi threading, design patters, lambda expressions...
Our research endeavor aimed to facilitate the utilization of code quality feedback tools for novice programmers . The culmination of our efforts resulted in the development of "CPPAnalyzer", a C++ code quality checker tailored explicitly for novice programmers.