Welcome! This where I talk about what interests me. Mostly software engineering.

About me: I enjoy programming, metaphysical realism, forms, ethics, sociology, sincerity, and vim. I dislike materialism, nominalism, moral relativism, excessive irony, and emacs. I might sound formal or academic, but I'm actually pretty silly.
Want to hire me? Or just want to chat with a friend? Feel free to reach out :)
Contacts:
- Email: msaher.shair@gmail.com
- Github: msaher
- Twitter: msaher66
- Phone number: Just kidding
Recent posts:
Book Review: Structure and interpretation of computer programs
The wizard book is considered a timeless classic that I will always hold dear to my heart for introducing me to computer science. It touches a lot of topics, making it a great introduction. Still, starting with functional programming is arguably less intuitive for most people. Most people don't care about purity (yet). Why would they?

The Procedural Reality Beneath Object Oriented Programs
Many software engineers are taught object-oriented programming (OOP) with little regard to what the machine is actually doing - a common failure of university curricula. This in turn creates an attitude where a mere programming paradigm is treated as a divine abstraction offered to us by the deities who bestow us with programming languages.
I find that unacceptable. No abstraction is sacred. All object-oriented techniques can be mapped to procedural code with structs and function pointers. More engineers should be aware of this, and students, in particular, should not be shielded from this reality.