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.
This is my revision notes for Computer Network and Application. I will go through a five-level protocol model: Application Layer, Transport Layer, Network Layer, Link Layer, and Physical Layer. This post includes the summary of computer network knowledge as well as network security.