Archives
All posts I have archived.
-
Advanced PostgreSQL for Laravel Developers
Master PostgreSQL performance tuning for Laravel applications — from EXPLAIN ANALYZE and index strategies to autovacuum tuning, connection pooling, and tab...
-
Pgbouncer Connection Pooling: Postgresql Performance Guide
PgBouncer is a lightweight connection pooler for PostgreSQL that sits between your application and the database. Laravel applications using PHP-FPM create...
-
Autovacuum Tuning High Write Laravel: Postgresql Performance Guide
PostgreSQL's autovacuum process reclaims storage from dead tuples (rows deleted or updated via MVCC). The default autovacuum settings are conservative — de...
-
Brin Index Time Series: Postgresql Performance Guide
BRIN (Block Range INdex) is a PostgreSQL index type designed for physically ordered data — most commonly time-series data where rows are inserted in chrono...
-
Cursor Pagination Vs Offset Pagination Laravel: Postgresql Performance Guide
Offset pagination (`LIMIT 15 OFFSET 10000`) is the default in Laravel (`paginate()`) but becomes catastrophically slow on large PostgreSQL tables. To fulfi...
-
Index Bloat Detection Pg Repack: Postgresql Performance Guide
Index bloat occurs when PostgreSQL indexes grow much larger than necessary due to UPDATE and DELETE operations. PostgreSQL's MVCC (Multi-Version Concurrenc...
-
Jsonb Gin Index Vs Eav Laravel: Postgresql Performance Guide
The Entity-Attribute-Value (EAV) pattern is a legacy approach for handling dynamic schemas (like user settings or product attributes) where data is spread...
-
N Plus 1 Detection Fix Laravel Eloquent: Postgresql Performance Guide
The N+1 query problem is the most common performance issue in Laravel applications using PostgreSQL. It occurs when code loads a collection of models and t...
-
Partial Index Vs Expression Index: Postgresql Performance Guide
PostgreSQL supports two advanced index types that most developers underuse: partial indexes (WHERE clause on the index itself) and expression indexes (inde...
-
Pg Stat Statements Setup Analysis: Postgresql Performance Guide
pg_stat_statements is a PostgreSQL extension that tracks execution statistics for all SQL statements — execution count, total/mean/min/max time, rows retur...
-
Pg Trgm Trigram Similarity Vs Ilike Laravel: Postgresql Performance Guide
Standard B-tree indexes cannot optimize partial substring searches (e.g., `WHERE name ILIKE '%john%'`), forcing PostgreSQL to perform a full sequential tab...
-
Row Level Security Rls Bypass Laravel: Postgresql Performance Guide
PostgreSQL Row-Level Security (RLS) acts as a database-tier safeguard, ensuring queries only return rows a user is authorized to see regardless of applicat...
-
Slow Query Debugging Explain Analyze: Postgresql Performance Guide
EXPLAIN ANALYZE is PostgreSQL's most powerful diagnostic tool for understanding query execution. Unlike EXPLAIN alone (which shows the planner's estimated...
-
Table Partitioning Large Laravel Apps: Postgresql Performance Guide
Table partitioning splits a large PostgreSQL table into smaller physical sub-tables (partitions) based on a partition key, while presenting a single logica...
-
Eloquent N+1 Query Detection and Automatic Eager Loading: How to Fix
The N+1 query problem occurs when code iterates over a collection of models and accesses a relationship on each one, triggering a separate SQL query per mo...
-
High-Performance Laravel: The Complete Guide
Master Laravel performance optimization — from Octane and Swoole to queue management, race conditions, and strict typing. Production-tested techniques for...
-
Laravel 12 Upgrade Gotchas and Package Incompatibilities: How to Fix
Laravel 12 introduces several breaking changes that surface as cryptic errors during or after upgrade. The most common issues include: the shift from Larav...
-
Laravel Horizon Redis Cluster Queue Management Issues: How to Fix
Laravel Horizon requires specific Redis configuration when running against a Redis Cluster. The default Redis connection in Laravel uses single-node comman...
-
Laravel Octane Swoole Memory Leak in Production: How to Fix
Memory leaks in Laravel Octane with Swoole happen because the application stays in memory across requests instead of bootstrapping fresh on each request li...
-
Laravel Queue Deadlock with Redis vs Database Driver: How to Fix
Queue deadlocks in Laravel occur when queued jobs compete for the same resources — either at the queue broker level (Redis connection exhaustion, database...
-
Laravel Race Condition in Cache and Database Locks: How to Fix
Race conditions occur when multiple processes or requests attempt to read and write the same resource concurrently without proper synchronization. In Larav...
-
PestPHP Stress Testing for Health Endpoint Benchmarking: How to Fix
Benchmarking health check endpoints is essential for validating application performance baselines, load balancer configuration, and Kubernetes readiness/li...
-
PHP 8.4 Property Hooks Migration for Laravel: How to Fix
PHP 8.4 introduces property hooks (get/set) that allow defining accessor and mutator logic directly on class properties, replacing the need for magic __get...
-
PHPStan Level 9 Strict Typing Guide for Laravel: How to Fix
PHPStan level 9 enforces the strictest static analysis rules in PHP, requiring full type coverage for all parameters, return types, properties, and generic...
-
Laravel Pulse: Production Monitoring Done Right
A practical guide to setting up Laravel Pulse for production monitoring -- from installation to custom recorders, Supervisor configuration, security gates, and performance tuning. Stop flying blind in production.
-
Adding an LLM-Friendly 'Copy to Markdown' Feature to Astro Paper (Inspired by RSPress)
A complete guide to building an RSPress-inspired 'Copy to Markdown' UI and dynamic LLM endpoints in your Astro Paper blog to boost Generative Engine Optimization (GEO).
-
Deploying Laravel Reverb WebSocket Server with Nginx
A complete tutorial on deploying Laravel Reverb with both single-server and separate Nginx reverse proxy architectures, including Supervisor and SSL.
-
PgBouncer Connection Pooling: Transaction vs Session Mode Guide
Master PgBouncer connection pooling modes. Compare transaction vs session mode performance for Laravel and PostgreSQL. Avoid common database bottlenecks.
-
Laravel Queue Deadlock: Redis vs Database Driver (SQLSTATE 40001)
Resolve Laravel queue deadlocks (Serialization failure: 1213). Compare Redis vs Database drivers, locking mechanisms, and the SKIP LOCKED fix for PostgreSQL and MySQL.
-
Laravel Race Condition Fix: Cache::lock vs Database Locks
Master Laravel race condition fixes by comparing distributed Cache::lock with pessimistic database locking (lockForUpdate). Code examples and use cases.
-
🧩 From Laravel to Go (Part 2): Thinking Clean in a Statically Typed World
Discover how Go’s static typing system enforces Clean Code principles — from self-documenting functions to safe refactoring — tailored for Laravel developers learning Golang.
-
🧠 From Laravel to Go (Part 1): Why Go Appeals to a Laravel Developer
Discover why Go (Golang) is a natural next step for Laravel developers who love clean, expressive, and maintainable code. Learn how Go embodies the principles of *Clean Code* in language design, tooling, and philosophy.
-
Kelas Pakar: Beating Indonesia’s #1 Killer with Two Daily Habits
In this Kelas Pakar session from MALAKA, Dr. Gia Pratama cuts through public misconceptions and explains why cardiovascular disease and stroke—fueled by hypertension, diabetes, and smoking—are Indonesia’s deadliest threats. He offers a pragmatic, prevention-first playbook built on simple, scalable habits anyone can start tomorrow.
-
Kelas Pakar: Can Democracy Survive When Voters Stop Trusting Parties?
In MALAKA’s Kelas Pakar, Edbert Gani Suryahudaya (Ph.D student, Political Science, University of Toronto) explains why political parties remain the backbone of representative democracy, what happens when public trust erodes, and how reform can realistically happen from within. This post translates his core arguments into practical frameworks and reform pathways.
-
Kelas Pakar: Micro vs. Macro Influencers — What Actually Drives Sales and Trust?
Dr. Tirta breaks down his research comparing micro and macro influencers across hard vs. soft selling. Learn which lever boosts instant sales, what actually builds brand trust, and how to measure impact with the right metrics.
-
Kelas Pakar: Why Activists Need Math — Turning Opinions into Impact
Applied mathematician Barry Sianturi (Imperial College London) makes the case that activism becomes sharper and more effective when grounded in mathematical thinking. From defining terms to mapping variables and testing assumptions, he shows how math elevates critique into constructive policy influence.
-
Kelas Pakar: If Ghosts Are Real, Physics Needs a Rewrite
Adrian Danar Wibisono (Electrical Engineering & Master Energy Engineering, Universitas Indonesia) examines ghost stories through the lens of physics. The core debate: if ghosts can be seen, heard, or even touch us, they must obey physical laws and be measurable. This post offers a scientific framework for evaluating supernatural claims—critical reading for anyone interested in science literacy.
-
Kelas Pakar: Indonesia’s Talent Gap Isn’t Skills—It’s Thinking
Dr. Hasanudin Abdurakhman (Doctor of Applied Physics, Tohoku University) argues that Indonesia’s core workforce problem is not a lack of advanced topics like AI in the curriculum, but weak logical thinking and problem-solving habits. This post distills his framework—observe, analyze, hypothesize, plan, and communicate—into practical steps teams can use to improve performance today.
-
Benchmarking PHP Health Endpoints with PestPHP Stress Test
Learn how to use PestPHP's built-in stress testing tool to benchmark the performance of health check endpoints. This guide covers how to run the test, interpret the results, and provides real-world benchmark data for Hyperf, Hypervel, and Webman.
-
Building Health Check Endpoints in Modern PHP Frameworks: Hyperf, Hypervel, and Webman
A comprehensive guide to implementing '/up' health check endpoints in three popular async PHP frameworks: Hyperf, Hypervel, and Webman. Includes code examples and best practices for improving application reliability and observability.
-
Unlocking Indonesian Expertise: A Deep Dive into Malaka Project's 'Kelas Pakar'
Discover 'Kelas Pakar' (Expert Class) by Malaka Project, a brilliant Indonesian YouTube series bringing expert knowledge to the masses. From public speaking with a stand-up comedian to understanding the 'thrifting' boom, this series is a goldmine of insights. This post explores why this content is a must-watch for anyone interested in Indonesian culture, creative industries, and lifelong learning.
-
Kelas Pakar: Generalist vs. Specialist: Who Wins in Today's Job Market?
In this episode of 'Kelas Pakar', Indra De Prestio dissects the age-old debate: is it better to be a deep specialist or a broad generalist? This post breaks down his key arguments, including the concepts of 'degree inflation', the V-shaped professional, and why adaptability might be the most crucial skill of all in a rapidly changing, AI-driven world.
-
The Ultimate Laravel + PostgreSQL Query Optimization Checklist (Part 7)
A practical end-to-end checklist to diagnose and optimize any Laravel query: classify short vs long, apply index and N+1 fixes, streamline long report queries, and escalate with CTEs, views, JSON functions, and partitioning.
-
Solving N+1 for Good in Laravel: The NORM JSON Function Pattern (Performance Part 6)
How to eliminate N+1 queries in complex Laravel endpoints by offloading relationship assembly to a PostgreSQL JSON-building function (NORM pattern) and returning one predictable JSON payload.
-
Architecting Complexity: CTEs, Views, and Partitioning in Laravel (Performance Part 5)
How and when to use PostgreSQL CTEs, database views, and table partitioning in a Laravel app to tame complex queries, encapsulate reusable logic, and keep massive tables fast.
-
My Java Baptism by Fire: Conquering 'Not Equals', Exponents, and Printing Arrays Like a Pro
A hilarious and deeply personal journey through the most common Java beginner pitfalls. This guide uses real-world coding war stories to teach you how to properly handle 'not equals', string-to-int conversions, array printing, exponents, and other fundamental concepts that trip up new developers.
-
Taming Long Queries & Joins: Winning Strategies for Reports (Laravel + PostgreSQL Performance Part 4)
How to optimize report-style 'long queries' in Laravel with PostgreSQL: when Seq Scans are good, how hash joins work, using EXISTS for semi/anti-joins, and structuring GROUP BY to avoid repeated large table scans.
-
How to Exit Vim: The Ultimate Guide for the Trapped, the Terrified, and the Truly Determined
A hilarious and deeply practical guide on how to exit the Vim editor. From the panic-inducing first encounter to mastering life-saving commands like save, quit, undo, redo, and search, this article turns Vim victims into Vim victors. Your escape plan is here.
-
Short Queries, Massive Tables: Indexes That Make Laravel Fly (Laravel + PostgreSQL Performance Part 3)
Why once-fast find() and where() calls slow down at scale, how PostgreSQL chooses Seq Scan vs Index Scan, and the exact indexing habits to keep short queries instant on millions of rows.
-
My Epic Quest Through the Bash Labyrinth: From Multiline Strings to Conquering Chaos
A deep-dive, humor-filled journey into the world of Bash scripting. This guide goes beyond the basics, sharing personal war stories and hard-won lessons on everything from multiline strings and function returns to robust error handling and command-line argument parsing with getopts. It's the field guide to Bash you wish you'd had when you started.
-
Database Indexing Pitfalls: The Boolean Flag Trap, We Should Know
Ever wonder why your database ignores a perfectly good index on a boolean column? This guide dives into one of the most common indexing 'gotchas', explaining the database cost model and why a full-table scan is sometimes the smartest choice.
-
What Happens When You Run ->get()? Reading PostgreSQL Execution Plans (Laravel + PostgreSQL Performance Part 2)
A practical walkthrough for Laravel devs on what PostgreSQL does after Eloquent sends a query: parse, plan, execute. Learn how to extract SQL, run EXPLAIN, and decode Seq Scan cost, rows, and width so you can spot missing indexes early.
-
Level Up Your Laravel Queries: Advanced Indexing with Index-Only and JSON
Go beyond basic indexes. This guide unlocks two pro-level Laravel performance techniques: creating ultra-fast Index-Only Queries to avoid table reads, and taming the beast of indexing JSON columns for efficient lookups.
-
Beyond Eloquent: Think Like a Database (Laravel + PostgreSQL Performance Part 1)
Eloquent is elegant, but every Laravel developer eventually hits performance walls caused by hidden SQL inefficiencies. This first part explains the mindset shift from imperative PHP to declarative SQL, exposes pitfalls like N+1 and the 'shopping list problem,' and gives a simple first habit: inspect the actual queries your code generates.
-
My Epic Saga with a Rogue Database: A Guide to the SQL Queries That Saved My Sanity (and My Job)
A hilarious and deeply practical, story-driven guide to mastering the SQL queries you actually need on the job. From updating multiple columns and joining tables to performing a dreaded PIVOT, this article covers the real-world challenges of taming a legacy database.
-
Navigating Common SQL Performance Traps: !=, NULL, LIKE, and GROUP BY
Dive into common but tricky SQL query patterns that silently kill performance. Learn how to optimize !=, IS NULL, LIKE, and GROUP BY clauses with the right indexing strategies for faster, more efficient applications.
-
The Ultimate JavaScript Handbook: From 'Undefined' Nightmares to Flawless Code (And Everything In Between)
A hilarious and deeply practical guide to mastering JavaScript's most common pain points. We dive into everything from safely removing elements from arrays and the truth about 'break' in forEach, to the eternal battle of null vs. undefined, flawless email validation, and the modern way to handle dates, unique IDs, and asynchronous waiting. This isn't your standard dry documentation; it's a battle-tested survival guide written by a human, for a human.
-
Unlocking Performance: A Pragmatic Guide to Laravel Database Indexing
Struggling with slow Eloquent queries? Database indexing doesn't have to be a black box. This guide translates deep database principles into practical, everyday Laravel techniques. Learn to craft efficient single and multi-column indexes with migrations, optimize your `where` and `orderBy` clauses, and debug performance issues like a pro to make your application fly.
-
My Git Commit Catastrophes: A Definitive Guide to Squash, Revert, and Undo Your Blunders
Dive into a hilarious and deeply practical guide to mastering Git's most powerful recovery commands. From undoing a local commit before you push to reverting live mistakes and squashing messy histories, this article turns real-world developer disasters into actionable lessons. Learn to handle any Git blunder with confidence.
-
My Epic Quest to Master PSQL: From 'Show Tables' to Dropping Everything (Accidentally, Of Course)
Dive into a hilarious and deeply practical journey of taming the PSQL command line. This guide takes you from the utter confusion of `psql show tables` to the god-like power of dropping everything (and how not to do it on production). Learn to install, connect, inspect tables, manage users, and master the essential commands that will turn PSQL from a mysterious beast into your most trusted database companion.
-
My Epic Quest to Remove Docker Images: A Guide to Slaying Digital Clutter (and Common Errors)
Ever get that dreaded 'No space left on device' error? I did, and it led me on an epic quest to clean up my Docker environment. Follow my hilarious journey from digital hoarder to cleanup master. This guide covers everything from basic `docker rmi` commands to nuking all images, troubleshooting common errors like `zsh command not found`, and demystifying Dockerfiles. Learn how to reclaim gigabytes of disk space and become a Docker hygiene pro!
-
My Epic SQL Saga: From Clumsy Queries to Database Dominance (And How You Can Get There Too!)
Dive into a personal and humorous journey through the world of SQL. This comprehensive article covers everything from ordering by multiple columns and complex joins to date-time wizardry and advanced data cleanup techniques, all told through relatable developer stories and practical, real-world examples.
-
Nginx 502 Bad Gateway: My Descent into Madness and How I Clawed My Way Back 😱
A hilarious and deeply technical survival guide to troubleshooting the dreaded Nginx 502 Bad Gateway error. Join me on a journey through crashed backends, misconfigured sockets, and cryptic logs to conquer not just the 502, but its annoying cousins like the 404 Not Found and 400 Bad Request.
-
From Laravel to Spring Boot 03: Building Your First REST API with Proper Error Handling
Learn to build production-ready REST APIs with Spring Boot. Master request/response handling, validation, exception handling, and testing - the Spring Boot way.
-
From Laravel to Spring Boot 02: Setting Up Your Java Development Environment with SDKMAN, IntelliJ, and VSCode
A practical guide to setting up a professional Java development environment optimized for Spring Boot development. Learn SDKMAN for Java version management and choose between IntelliJ IDEA or VSCode configuration.
-
From Laravel to Spring Boot 01: The Fundamental Mindset Shift - Adapt or Die
The essential mental transitions every Laravel developer must make when moving to Spring Boot. Learn why this shift matters for your career and how to think like a Java enterprise architect.
-
Installing Java with SDKMAN! A Step-by-Step Learning Note
A comprehensive guide to installing and managing Java versions using SDKMAN.
-
Setting Up Java Development in VSCode: Why I Recommend the Extension Pack for Java?
A guide to setting up Java development in Visual Studio Code using the Extension Pack for Java, enhancing productivity and learning.
-
Learning Note: Java 21 Feature – Unnamed Classes and Instance Main Methods (Preview)
A beginner-friendly introduction to Java 21's unnamed classes and instance main methods, designed to simplify the entry point for new Java developers.
-
Learning Note: Java 21 Feature – Pattern Matching for Switch
summary
-
Learning Note: Java 21 Feature – Unnamed Patterns and Variables
summary
-
How to Start a Laravel Project for Maximum Speed & Maintainability?
Learn the Laravolt way to kickstart your Laravel projects with enterprise-grade quality standards. This beginner-friendly guide covers everything from installation to database design, model relationships, and testing—all designed to help you build robust applications quickly and efficiently.
-
Migrating Our Dockerized Infrastructure to Alpine Linux on DigitalOcean: Inspired by Lewis Campbell
A detailed account of our migration from a complex Docker setup to a streamlined Alpine Linux environment on DigitalOcean, inspired by Lewis Campbell's insights on dependencies and simplicity.
-
Laravel Octane Infrastructure Setup: From Zero to Production on DigitalOcean
Complete guide to setting up a production-ready Laravel Octane server on DigitalOcean. Learn how to configure Ubuntu 24.04, install dependencies, secure your server, and prepare for high-performance Laravel deployment.
-
Laravel Octane 05: Production Deployment & Best Practices for High-Performance Laravel
Master the final steps of deploying your high-performance Laravel Octane application with Nginx, Supervisor, and essential optimizations. Learn how to set up a production-like environment locally, manage Octane processes, and apply best practices for a robust deployment.
-
Laravel Octane 04: Advanced Caching, Database Optimization, and Monitoring with Swoole
In this article, we explore advanced caching strategies with Laravel Octane, database optimization techniques, and monitoring tools to ensure your high-performance Laravel application runs smoothly in production.
-
Laravel Octane 03: Concurrency and Asynchronous Workflows with Swoole
Explore the power of concurrency and asynchronous workflows in Laravel Octane with Swoole. Learn how to create a high-performance application that handles multiple tasks simultaneously, improving responsiveness and performance.
-
Laravel Octane 02: Setting Up Your High-Performance Environment with Sail
Learn how to set up a high-performance Laravel Octane environment using Sail and Swoole. This guide walks you through the installation process, configuration, and best practices for development.
-
Laravel Octane 01: Unlocking Supersonic Speed: An Introduction to Swoole
A beginner-friendly guide to understanding Laravel Octane and Swoole, focusing on practical performance improvements for your Laravel applications.
-
The Black Box Effect: How to Learn New Skills Fast as a Full Stack Programmer
Learn how to apply the Black Box Effect to rapidly acquire new programming skills and technologies. Practical strategies for full-stack developers to accelerate their learning process.
-
Rebuilding Laravel's `old()` and `@error` Magic in Hypervel — The Real Way It Works
Learn how to recreate Laravel's form error and old input behavior in Hypervel, a coroutine-native PHP framework. This guide walks through validation, session flashing, and displaying errors in Blade views without hidden magic.
-
Step-by-Step Guide: Creating a Web Authentication System in Hypervel
Learn how to build a secure web authentication system using Hypervel, covering user registration, login, and session management.
-
Hello World
Welcome to my technical blog! A simple introduction to what you can expect from my content on Laravel, DevOps, and modern web development.