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.
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 explore the Linux boot process—from powering on the system to reaching the login screen. I’ll break down each stage, including BIOS/UEFI, bootloader, kernel initialization, and the transition to user space. This is the beginning of my journey into understanding the inner mechanics of Linux.
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.
In this post, I will summarize some important concepts about algorithms and data structures. The contents in this post can be a bit theoretical and require some memorization.