<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Ez Eldeen M</title>
    <description>The latest articles on Forem by Ez Eldeen M (@ezmu).</description>
    <link>https://forem.com/ezmu</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3940345%2F9a00550c-a18a-4961-90f6-0f89da7fc736.png</url>
      <title>Forem: Ez Eldeen M</title>
      <link>https://forem.com/ezmu</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/ezmu"/>
    <language>en</language>
    <item>
      <title>Stop Blaming PHP: Introducing The Performance Bible for Laravel</title>
      <dc:creator>Ez Eldeen M</dc:creator>
      <pubDate>Mon, 25 May 2026 21:39:40 +0000</pubDate>
      <link>https://forem.com/ezmu/stop-blaming-php-introducing-the-performance-bible-for-laravel-44eb</link>
      <guid>https://forem.com/ezmu/stop-blaming-php-introducing-the-performance-bible-for-laravel-44eb</guid>
      <description>&lt;p&gt;"PHP is slow."&lt;br&gt;
"Laravel can't scale."&lt;/p&gt;

&lt;p&gt;We hear these tired arguments every day. Developers love blaming the tool—the "car"—instead of the design—the "road."&lt;/p&gt;

&lt;p&gt;It’s easy to throw more RAM at a server, but adding more hardware is often just a tax you pay for inefficient code and poor architectural decisions.&lt;/p&gt;

&lt;p&gt;After years of architecting high-scale systems, I realized that many Laravel developers are missing a foundational understanding of &lt;em&gt;why&lt;/em&gt; certain practices are slow. This led me to open-source &lt;strong&gt;The Performance Bible for Laravel&lt;/strong&gt;, a comprehensive 30-topic guide designed to take you from writing basic code to engineering resilient, high-performance systems.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Philosophical Foundation: Mathematics Always Beats Physics
&lt;/h2&gt;

&lt;p&gt;Before we optimized a single line of Laravel code, we established a core principle in &lt;strong&gt;Volume I: Philosophical Foundations&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;The ultimate bottleneck is rarely the programming language itself; it’s the algorithm complexity. Mathematics always defeats physics.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Golden Law of Performance
&lt;/h3&gt;

&lt;p&gt;The image above visualizes our foundational performance formula:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxim2xve4e2avp4p4bxxr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxim2xve4e2avp4p4bxxr.png" alt="performance formula" width="699" height="174"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Think of it this way:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Algorithm Efficiency:&lt;/strong&gt; Is your road a winding, muddy trail ($O(n^2)$) or a 10-lane highway ($O(1)$)?&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Language Overhead:&lt;/strong&gt; Is your vehicle a bicycle (High Overhead/Interpreter) or a jet (Low Overhead/Compiled/APCu)?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You don't need a faster vehicle (Go/Rust) if you are driving on a muddy road (poor SQL indexing/N+1 queries). Mathematics (the highway) will make the bicycle (PHP) arrive faster than the jet (C++) on the muddy road.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Problem Does This Solve?
&lt;/h2&gt;

&lt;p&gt;This Bible is for you if you have ever:&lt;/p&gt;

&lt;p&gt;❌ Deployed an app that worked perfectly in development but &lt;strong&gt;crashed under production load&lt;/strong&gt;.&lt;br&gt;
❌ Wondered why a simple &lt;code&gt;User::all()&lt;/code&gt; brings down a server with &lt;strong&gt;50,000 users&lt;/strong&gt;.&lt;br&gt;
❌ Spent &lt;strong&gt;3 AM debugging an “N+1 query”&lt;/strong&gt; you didn’t know existed.&lt;br&gt;
❌ Been told to &lt;strong&gt;“just add more servers”&lt;/strong&gt; when the real problem was a missing database index.&lt;/p&gt;




&lt;h2&gt;
  
  
  A Sneak Peek Inside
&lt;/h2&gt;

&lt;p&gt;The guide covers 30 crucial topics across three volumes (Volume I, II, and IV), including over 200 code examples. Here are a few high-impact gems:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  🚀 &lt;strong&gt;Route Caching (Tuning Kit #02):&lt;/strong&gt; Learn how &lt;code&gt;php artisan route:cache&lt;/code&gt; cuts 35ms down to 2ms per request. Free, instant performance.&lt;/li&gt;
&lt;li&gt;  🗑️ &lt;strong&gt;Queue Serialization Trap (Tuning Kit #06):&lt;/strong&gt; Stop dispatching full Eloquent models (&lt;code&gt;$user&lt;/code&gt;) to your queue. You're bloating your Redis instance and risking stale data. Dispatch the ID instead.&lt;/li&gt;
&lt;li&gt;  💾 &lt;strong&gt;Hydration Hell (Tuning Kit #05):&lt;/strong&gt; Learn why Eloquent models consume 5-10x more memory than raw database arrays (&lt;code&gt;DB::table()&lt;/code&gt;) and when to switch.&lt;/li&gt;
&lt;li&gt;  🏗️ &lt;strong&gt;Read/Write Splitting (Tuning Kit #10):&lt;/strong&gt; Architecturally double your database capacity using Master for writes and Replicas for reads.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🚨 The "10 Production Disasters" Checklist
&lt;/h3&gt;

&lt;p&gt;In &lt;strong&gt;Topic 15&lt;/strong&gt;, I outline the most common architectural mistakes that cause production failures. Make sure your system isn't doing them:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; &lt;strong&gt;Missing DB Indexes:&lt;/strong&gt; A death sentence on large tables. (5s search vs. 0.001s).&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;&lt;code&gt;DB::enableQueryLog()&lt;/code&gt; in Production:&lt;/strong&gt; Guaranteed OOM (Out Of Memory) crash after a few hours of load.&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;&lt;code&gt;env()&lt;/code&gt; after &lt;code&gt;config:cache&lt;/code&gt;&lt;/strong&gt;: All environment variables will return &lt;code&gt;null&lt;/code&gt;, causing database connection failures.&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Logging &lt;code&gt;Log::info()&lt;/code&gt; inside loops&lt;/strong&gt;: 10,000 logs in a loop is 10,000 unnecessary, expensive I/O operations. Batch them instead.&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  Access the Full Bible
&lt;/h2&gt;

&lt;p&gt;The full 30-topic text is completely free, open-source, and deployment-ready.&lt;/p&gt;

&lt;p&gt;Start engineering faster Laravel systems today:&lt;/p&gt;

&lt;h3&gt;
  
  
  👉 Read the Bible Here: &lt;a href="https://ezmu.github.io/performance-bible/" rel="noopener noreferrer"&gt;https://ezmu.github.io/performance-bible/&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Let's stop blaming the tools and start designing better roads.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;About the Author:&lt;/strong&gt;&lt;br&gt;
I am Ez-Eldeen Mushtaha, a Software &amp;amp; Systems Architect based in Gaza, Palestine. You can connect with me on &lt;a href="https://www.linkedin.com/in/ezmu/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt; &lt;br&gt;
and find more of my work on &lt;a href="https://github.com/ezmu" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt; and &lt;a href="https://medium.com/@3z.eldeen" rel="noopener noreferrer"&gt;Medium&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>php</category>
      <category>laravel</category>
      <category>softwareengineering</category>
      <category>softwaredevelopment</category>
    </item>
    <item>
      <title>A Programmer’s Inferno — Circle Five:The Psychology of Distraction</title>
      <dc:creator>Ez Eldeen M</dc:creator>
      <pubDate>Tue, 19 May 2026 20:34:40 +0000</pubDate>
      <link>https://forem.com/ezmu/a-programmers-inferno-circle-fivethe-psychology-of-distraction-1jn1</link>
      <guid>https://forem.com/ezmu/a-programmers-inferno-circle-fivethe-psychology-of-distraction-1jn1</guid>
      <description>&lt;p&gt;14 years ago, I refused to build a fake progress bar for a Java Swing app.&lt;/p&gt;

&lt;p&gt;Or even just count the downloaded update files and call that "progress."&lt;/p&gt;

&lt;p&gt;It would have been easier. Faster. Less code.&lt;/p&gt;

&lt;p&gt;But I didn't.&lt;/p&gt;

&lt;p&gt;Because it felt wrong to deceive the user.&lt;/p&gt;

&lt;p&gt;Today?&lt;/p&gt;

&lt;p&gt;Skeleton loaders. Shimmer effects. Fake spinners.&lt;/p&gt;

&lt;p&gt;All "best practices." All "UX improvements."&lt;/p&gt;

&lt;p&gt;What I rejected for ethical reasons is now taught to beginners as "how to do it right."&lt;/p&gt;

&lt;p&gt;This isn't progress. This is rock bottom.&lt;/p&gt;

&lt;p&gt;📖 &lt;a href="https://medium.com/p/5f7cd1aa433e" rel="noopener noreferrer"&gt;A Programmer's Inferno — Circle Five: The Psychology of Distraction&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://medium.com/@3z.eldeen/a-programmers-inferno-f90302a1ceea" rel="noopener noreferrer"&gt;A Programmer’s Inferno&lt;/a&gt;&lt;/p&gt;

</description>
      <category>performanceoptimization</category>
      <category>ethicsintech</category>
      <category>softwareengineering</category>
    </item>
    <item>
      <title>A Programmer’s Inferno: We Didn't Notice Software Rotting—Until It Was Too Late!</title>
      <dc:creator>Ez Eldeen M</dc:creator>
      <pubDate>Tue, 19 May 2026 14:01:43 +0000</pubDate>
      <link>https://forem.com/ezmu/a-programmers-inferno-we-didnt-notice-software-rotting-until-it-was-too-late-15e5</link>
      <guid>https://forem.com/ezmu/a-programmers-inferno-we-didnt-notice-software-rotting-until-it-was-too-late-15e5</guid>
      <description>&lt;p&gt;The software industry is in crisis, and we are responsible. We've traded architectural discipline for convenience, and engineering wisdom for bloat.&lt;/p&gt;

&lt;p&gt;My series, "&lt;strong&gt;A Programmer's Inferno,&lt;/strong&gt;" is a descent into the circles of hell that define modern development. Here is the catalog of the &lt;em&gt;first four circles&lt;/em&gt;:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Circle I: Architectural Collapse&lt;/strong&gt; – How we build massive frameworks to solve simple problems, ensuring our systems are broken from day one.&lt;br&gt;
Link: &lt;a href="https://medium.com/@3z.eldeen/a-programmers-inferno-circle-one-architectural-collapse-67272176deda" rel="noopener noreferrer"&gt;Architectural Collapse&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Circle II: Dependency Hell&lt;/strong&gt; – The culture that compels us to pull in thousands of unknown packages just to execute ten lines of code.&lt;br&gt;
Link: &lt;a href="https://medium.com/@3z.eldeen/a-programmers-inferno-circle-two-dependency-hell-50b38915ba64" rel="noopener noreferrer"&gt;Dependency Hell&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Circle III: The Docker Absurdity&lt;/strong&gt; – Masking software failures behind gigabytes of container overhead.&lt;br&gt;
Link: &lt;a href="https://medium.com/@3z.eldeen/circle-three-the-docker-absurdity-c6b63facb48f" rel="noopener noreferrer"&gt;The Docker Absurdity&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Circle IV: Cloud Conspiracy &amp;amp; Jevons Paradox&lt;/strong&gt; – Why the business model of cloud providers relies on our inefficiency.&lt;br&gt;
Link: &lt;a href="https://medium.com/@3z.eldeen/a-programmers-inferno-circle-four-cloud-conspiracy-jevons-paradox-acf8de4e4521" rel="noopener noreferrer"&gt;Cloud Conspiracy &amp;amp; Jevons Paradox&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This isn't just about slow code. It's about planetary energy consumption, digital waste, and the loss of professionalism in our craft.&lt;/p&gt;

&lt;p&gt;It's time to stop being "tool operators"—blindly assembling components we don't understand—and start being engineers again.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Circle Five: The Psychology of Distraction&lt;/em&gt; is coming next.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Which circle do you see most often in your daily work?&lt;/strong&gt; Drop your worst "bloat" story in the comments.&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>softwareengineering</category>
      <category>softwaredevelopment</category>
      <category>cloudcomputing</category>
    </item>
  </channel>
</rss>
