This week's keywords are Virtual Memory, Page Table, Swap in/out, and Page Replacement. The hardest part of this assignment was that the functions were heavily fragmented, making i…
The keywords for this week are as follows: User program, User mode, Kernel mode, System call, and Virtual memory layout. I learned how to transition between User space and Kernel s…
This week, I finally started the highly anticipated Pintos project. The learning keywords were: threads, synchronization, priority scheduling, priority inversion, and MLFQS (Multi…
This week's learning keywords were BSD Sockets, IP, TCP, HTTP, File Descriptors, and DNS. I allocated the first day to conceptual learning and proceeded with writing code afterward…
ReadNetwork communication is inherently the exchange of data between processes running on two different hosts. However, it is impossible for an application, such as a browser or a web…
This week, I worked on implementing the malloc lab from the CS:APP3e Lab Assignments. The main topics I focused on were system calls, data segments, memory fragmentation, and sbrk/…
ReadProcesses lack the authority to directly control physical hardware. Memory access is strictly governed by the CPU's Mode Bit and Privilege Level. The CPU restricts instruction exec…
Transitioning from Python to C, I practiced pointers, malloc, and free based on the basic structure of a linked list to get used to the language. The problems this time weren't too…
The algorithm keywords for this week are as follows: Dynamic Programming and Greedy Algorithm. Overall, they weren't significantly different from the approaches covered in previous…
Python is internally implemented as CPython, so looking into the compilation process of C makes it easier to understand its structure. First, the compilation process of C is as fol…
During development, there are many instances where I need to read code written by others and trace through massive codebases to understand how a new technology functions and what e…
This week's algorithm keywords: Binary Search, Divide and Conquer, Quick Sort, Merge Sort, Stack, Queue, Priority Queue, Linked List, Hash Table. This week was similar to the last.…
Why Should We Learn Algorithms in the AI Era? I disliked the atmosphere of studying algorithms out of inertia just because previous generations had done so. I agree with the fact t…

I want to be a developer with solid fundamentals! I’ve always thought that, but I never really knew what "fundamentals" actually meant. Even when I learned the theory, I’d often ca…
Read