Author Archives: ronaldpringadi

Three Years of the AI Boom: The Stocks That Ran

A short personal note on the 2023-2026 AI boom and the handful of companies whose stocks went vertical: NVIDIA, Palantir, Broadcom, TSMC, AMD, Microsoft, Meta. Continue reading

Posted in Uncategorized | Tagged , , | Comments Off on Three Years of the AI Boom: The Stocks That Ran

Reading Laravel Config From a Queued Job — and the env() Trap That Bites You in Production

Today’s lesson came from a perfectly innocent-looking change in a Laravel app. We had a magic number — a chunk size — sprinkled across three call sites: 123foreach (array_chunk($userIds, 100) as $chunk) {     SendOnboardingEmailJob::dispatch($chunk); } One reviewer flagged … Continue reading

Posted in Laravel, PHP | Tagged , , | Comments Off on Reading Laravel Config From a Queued Job — and the env() Trap That Bites You in Production

When the third-party PPA goes down: replacing a Dockerfile with a pre-built image on Docker Hub

Three days, three CI failures, all rooted in the same place: the Dockerfile our build runs from rebuilds the world from scratch every single CI run, and every external source it touches is somebody else’s reliability problem. Here’s what that … Continue reading

Posted in DevOps | Tagged , , , , | Comments Off on When the third-party PPA goes down: replacing a Dockerfile with a pre-built image on Docker Hub

When a Composer package vanishes from GitHub: don’t panic, and don’t delete vendor/

Today our CI/CD pipeline went red on a job that hadn’t been touched in months. The .gitlab-ci.yml was untouched. The branch built fine yesterday. composer install exploded. The relevant chunk of the failure log: 12345678Failed to download acme/some-nova-tool from dist: … Continue reading

Posted in PHP | Tagged , , , , | Comments Off on When a Composer package vanishes from GitHub: don’t panic, and don’t delete vendor/

Local HTTPS in 5 minutes with Caddy 🔒

I used to dread setting up https for local development. Self-signed certs got the browser to scream. Editing nginx.conf for two hostnames felt like building a cathedral. Caddy changed all that for me — it’s a tiny single-binary web server … Continue reading

Posted in Web Development | Tagged , , | Comments Off on Local HTTPS in 5 minutes with Caddy 🔒

Spatie activity_log: which method writes to which column? 🐘

If you’re using spatie/laravel-activitylog, you’ve probably written something like activity()->event(…)->log(…) a hundred times without thinking about where each piece lands in the database. The fluent API is friendly, but the column mapping isn’t obvious until you go look — so … Continue reading

Posted in PHP | Tagged , , , | Comments Off on Spatie activity_log: which method writes to which column? 🐘

The Null Coalescing Operator: A Small PHP Feature That Quietly Changed Everything

If you’ve been writing PHP for a while, you probably remember the days of nested „isset()” checks cluttering up every template and controller. Since PHP 7, there’s a much cleaner way — and if you haven’t fully embraced it yet, … Continue reading

Posted in PHP | Tagged | Comments Off on The Null Coalescing Operator: A Small PHP Feature That Quietly Changed Everything

Did You Know? Python’s Walrus Operator Can Make Your Code Cleaner

Did you know? Since Python 3.8, you can use the walrus operator ( := ) to assign a value to a variable as part of an expression. It’s a small piece of syntax that can meaningfully tidy up loops and … Continue reading

Posted in Python | Tagged | Comments Off on Did You Know? Python’s Walrus Operator Can Make Your Code Cleaner

Did You Know? Python Dictionaries Preserve Insertion Order

Did you know? Since Python 3.7, the built-in 1dict type officially preserves the order in which keys are inserted. Before that, if you needed ordering guarantees you had to reach for 1collections.OrderedDict . Today, a plain dictionary is enough for … Continue reading

Posted in Python | Tagged | Comments Off on Did You Know? Python Dictionaries Preserve Insertion Order

BOLA in a Laravel Livewire app: when client-side state is the only thing standing between users and admin actions

A penetration test landed an interesting finding on a Livewire-powered admin panel I work on. The summary on the report read: Broken Object-Level Authorization (BOLA). A standard user can change a tenant-wide “who can access these assets” setting by replaying … Continue reading

Posted in Laravel, PHP | Tagged , , , , , , | Comments Off on BOLA in a Laravel Livewire app: when client-side state is the only thing standing between users and admin actions