Eduardo Arsand

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 31 notes in total.

When “DX” Hurts Real Productivity

Optimizing for developer convenience often masks deeper productivity losses. Real output — shipped features and resolved problems — matters more than frictionless workflows.

CultureProgramming
20 1 0
Read more

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.

PHPProgramming
99 1 0
Read more

The Cost of Over-Engineering for Hypothetical Futures

Premature abstraction accumulates invisible debt. Why designing for hypothetical futures consistently produces worse systems than designing for present reality.

ArchitectureProgramming
23 1 0
Read more

Why Debugging Became Harder Than Writing Code

Monoliths were often easier to debug due to direct execution paths and minimal layers, while modern architectures trade transparency for scalability and modularity.

Programming
12 1 0
Read more

PHP ?? (Null Coalescing) and ?: (Ternary Shorthand)

A small reminder of how "null coalescing" and "ternary shorthand" works in PHP.

PHPProgramming
129 1 0
Read more

Abstraction Debt: The New Technical Debt

Abstraction debt accumulates when layers and patterns are misapplied, creating hidden maintenance costs akin to technical debt.

ArchitectureProgramming
25 1 0
Read more

Learning JavaScript vs Learning an Ecosystem

Understanding JavaScript requires focusing on language fundamentals, while learning an ecosystem requires mastering tools, patterns, and workflows.

JavascriptProgramming
6 0 0
Read more

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.

ProgrammingTechnology
48 1 0
Read more

The Rise of Build Pipelines and the Loss of Directness

Build pipelines introduced powerful automation but severed the direct relationship between source code and runtime output. The cost of that indirection is rarely measured.

ArchitectureProgramming
31 0 0
Read more

Understanding Common Edge Cases in PHP and JavaScript

Edge cases in PHP and JavaScript stem from implicit type coercion and loose equality. Strict comparisons, boundary validation, and explicit type contracts are the primary defenses.

ProgrammingPHPJavascript
40 2 0
Read more

Vendor Lock-in Starts at Hello World

Vendor lock-in starts with defaults, APIs, and habits. I examine how early convenience hardens into dependency and how to preserve optionality.

ArchitectureProgramming
40 1 0
Read more

PHP self:: vs static::

PHP self:: binds to the defining class, static:: respects the calling class (Late Static Binding).

ProgrammingPHP
30 1 0
Read more