Notes & Thoughts Quick thoughts, technical notes, and ideas.
Notes written to clarify my own thinking, share knowledge, explore ideas, and remember important concepts.
Notes tagged with "Programming"
There are 16 notes in total.
The Discipline of Simple Code
After two decades in software: writing simple code is harder than complex code. Simplicity demands discipline, problem clarity, and focus on what endures.
Foundational Knowledge in AI-Assisted Development
Examination of why classical computer science fundamentals remain essential for evaluating AI-generated code, recognizing abstraction failures, and making informed architectural decisions despite automated code generation.
About CSS Property "overscroll-behavior"
Just found out about this CSS property. You don't need javascript anymore to block that anoying scroll chaining from a modal to the background page.
Why AI Won’t Save Bad Architecture
AI can speed up coding inside a well-structured system, but it cannot repair fundamental architectural flaws. AI won't fix misorganization, it will only accelerate and amplify it.
Why I Prefer Owning My Stack
Controlling my technology stack grants me autonomy, clarity, and speed. I have found that this approach leads to more robust, adaptable systems and shields me from the risks of vendor lock-in and opaque dependencies.
Global State vs Provide/Inject in Vue.js
Global State vs Provide/Inject in Vue.js. Both solve different data-sharing problems. Selecting the appropriate strategy depends on scope, scalability needs, and architectural clarity.
PHP Typed Arrays
Typed arrays in PHP through PHPDoc enable static analysis, IDE support, and explicit contracts using array shapes, lists, and advanced constraints beyond native typehints.
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.