Welcome, chip
So I’ve decided to spend some time reviewing some old topics for a new project
and one of them is operating systems and computer systems in general.
The whole process of watching lectures & talks, reading books and programming in new languages
as very refreshing and improved my skills both as a programmer and as a person.
It made me humbler and I finally understood that I am dumber than I thought
and it’s OK since I can learn.
It’s probably due to all these years spent in web programming using generic frameworks which have
dumbed me down to the point of deterioration of skills so, currently, I am
trying to focus on writing things from scratch and using lower level frameworks
when needed to move faster.
Skills learned
Zig, c, asm: I’ve decided to learn a new language and improve my C skills, asm is mostly for understanding the code.
algorithms: indexes, caches, memory management, all these are using diferrent algorithms which are required to understand to know how things actually work.
linux, bash: since topic is mostly OS, I had plenty of time to play with many Linux
distributions and in the process have written some scripts.
Books
CS:APP - one of the best books on computer systems
Understanding the Linux Kernel
C Bible - The C Programming Language
Beej’s Guide to Network Concepts
Courses
ECS 150 - introductory OS course
CMU CS 213 - CS:APP course
Projects
general - scripts, algorithms, c & zig code, linux config files.
z-http - A basic HTTP Server in Zig.
cctp - reviving an old CC framework from C to Zig.