Automata and Compilers 10 - Semantic Analysis and Type Checking
How semantic analysis catches the errors that parsers cannot, and how type checking guarantees program safety
Thoughts on code, technology, and everything in between
Building reliable ML systems from data pipelines to production monitoring
From finite automata and formal languages to building a compiler from scratch
Understanding the Linux kernel from processes and memory to containers
Understanding the principles behind Internal Developer Platforms, golden paths, and developer self-service
Comprehensive Python programming course from basics to advanced topics
How semantic analysis catches the errors that parsers cannot, and how type checking guarantees program safety
How platform teams provide observability as a service instead of making every team build it from scratch
The problems that arise when multiple execution flows access shared resources, and the synchronization mechanisms in the Linux kernel
How ML CI/CD differs from software CI/CD and what needs to be tested and automated
Why every team writing their own pipelines creates chaos, and how standardized templates fix it
From block and character devices to I/O schedulers, DMA, and the page cache
Parse trees vs ASTs, designing AST nodes, and how ASTs bridge the compiler frontend and backend
Why production models degrade over time and how to detect it
Why your internal platform needs product management, user research, and the voluntary adoption test