Notes & Thoughts Quick thoughts, technical notes, and ideas.
Notes written to clarify my own thinking, share knowledge, explore ideas, and remember important concepts.
All Notes & Thoughts
There are 21 notes in total.
PHP ?? (Null Coalescing) and ?: (Ternary Shorthand)
A small reminder of how "null coalescing" and "ternary shorthand" works in PHP.
Why Performance Regressed Despite Faster Hardware
Performance can regress on faster hardware when software grows in hidden complexity. Abstractions, data volume, and toolchain overhead outpace raw speed gains.
PHP self:: vs static::
PHP self:: binds to the defining class, static:: respects the calling class (Late Static Binding).
Understanding Abstraction
Abstraction hides complexity behind simple interfaces, enabling reusable, maintainable, and flexible code while focusing on what something does, not how.
Why Most Websites Didn’t Need Single-Page Apps
SPAs solved collaboration problems but most websites adopted them unnecessarily. Traditional apps better suit content. Unnecessary complexity became technical debt.
Why jQuery Was Never the Problem
A short analysis about how most of the time, blaming the tools is almost never the root cause of poor web development practices. The evolution to modern tools addressed new complexities, but did not retroactively make jQuery the problem.
Frameworks vs Understanding the Web Stack
Relying solely on frameworks can obscure the essential workings of the web. I have found that a strong grasp of the web stack provides the flexibility and insight needed to use frameworks effectively and to build resilient, maintainable systems.
The Hidden Complexity of “Simple” CRUD Systems
CRUD systems hide complexity behind simple operations. Soft deletes, permissions, side effects, and state transitions demand domain-aware design from the start.
PHP Is Not Dead: The Cost of Writing Off Boring Technology
PHP’s reputation as a "boring" technology belies its strengths: stability, simplicity, and a robust ecosystem. Dismissing it for trendier alternatives often leads to unnecessary refactors, creating more problems than solving.