Innovative senior software engineer with 7+ years of experience in developing cutting-edge web and mobile applications. Ask me about JavaScript, PHP & Dart.

Ibadan, Nigeria
Joined August 2015
Can I automate browsers with AI??? Can I automate email replies with AI??? Can I sleep at night peacefully, knowing fully well that there is something constantly monitoring the platforms under my care are running through scheduled checks? Can I monitor that particular online store for discounts on products I would love to buy??? I answered YES to these questions and many more with my first personal project! I'm calling it Flowshub for now, but that is still open for changes. Watch this space for the final launch!
The full editor in all its glory. Anything inside {{ }} is a valid JavaScript expression. I can't believe I'm starting 2026 by writing a template engine with its editor. 😅😅😅😅
2
2
1
29
7,430
Hammed Oyedele retweeted
Last year my design won the PHP Foundation contest for the PHP 8.5 release page. This year I went further, a full redesign proposal for the php.net homepage and docs, built around PHP 8.6. Just for the love of PHP, and for fun. Preview: nunoguerra.com/dev/php Code: github.com/nunowar/phpnet
38
19
5
251
23,806
Hammed Oyedele retweeted
It's always: "Peter Obi is stingy" "Peter Obi doesn't know how to play the political game" "Peter Obi is too weak to be a president" It's never: "Peter Obi is corrupt". "Peter Obi mismanaged funds". That's a huge flex. Go and get your PVC, you know what to do. ✌🏼
11
321
9
1,042
10,256
Hammed Oyedele retweeted
Postgres on S3?! No, S3 on Postgres. Introducing pgS3. The scalability of a Postgres box. The query power of S3.
38
89
21
1,070
93,482
Hammed Oyedele retweeted
⚠️ Important Security Advisories Inside Along with upgrades for this week's PHP vulnerabilities, we announce 7 security advisories applying to NativePHP Mobile Everything is patched • `composer update` • `php artisan native:install --force` • Recompile and release Full details: nativephp.com/blog/our-first…
2
16
2
73
8,299
I think one less-known Laravel package will become more important with agentic coding. Feature flags with Laravel Pennant. laravel.com/framework/docs/p… More and more devs will just push to production without deeper code review. Feature flags may help to enable certain features only for your user or only for your internal team, before showing it to the world. Yes it's risky and controversial. And yes I know it's not the classic "correct" way with PRs. But the more I see @ampcode with Orbs and similar tools, the more I start believing that this is the future, at least for some less-critical projects. I'm planning to re-review feature flags with Laravel Pennant soon on YouTube.
6
4
39
2,653
😇😇😇😇
1
1
17
542
Laravel tip I learned the hard way. Upgraded to Laravel 11+ but kept old `app/Http/Kernel.php`? Then `defer()` never runs. No error, no log. New apps get InvokeDeferredCallbacks in `bootstrap/app.php`. Old Kernel needs it added manually. Found when SimpleStats "didn't work".
2
6
67
4,558
Hammed Oyedele retweeted
It turns out that many people don't realize #PHP is one of the most #underfunded open-source projects, with only one full-time developer. And that's the reality. PHP core developers can't afford to work exclusively on #PHP. Maybe they'd like to, but it's simply not possible under the current circumstances. I'm glad someone finally spoke about this publicly. But I think we need to talk about it more often and much louder.
11
33
2
226
10,795
Hammed Oyedele retweeted
Hey Laravel developers 👩‍💻 Are you aware of the recently released PreventStaleDatabaseReads middleware in Laravel 13.38? Replicas copy writes from the primary a little late. The sticky option only covers the request that was written. So a user saves a post, refreshes, and still sees the old title. This middleware stores the write time in the session. For the next 2 seconds, that user's reads go to the primary. PreventStaleDatabaseReads::for() sets a longer window. It is session-based, so it suits web routes, not APIs. The snapshot shows the setup. #laravel #php
1
2
22
729
Hammed Oyedele retweeted
Just remembered how we back then manually modified databases. Was curious since when migrations were a thing. Then learned they comes from Rails. Here is the commit from 21 years ago that basically invented what's standard today. @tobi and @DHH 👀
2
1
8
649
Hammed Oyedele retweeted
I still believe PHP is a great language (and Laravel is a stellar framework).
71
41
10
808
30,384
Hammed Oyedele retweeted
I built a game where you relive the most nostalgic moments of your Nigerian childhood 😂🇳🇬 Episode 1 is out now: Mama sends you to buy bread. An okada zooms past, your friends call you to play, and ₦50 is missing from the change 💀 Play free in your browser: pikindays.com #PikinDays #Naija #IndieGame
42
90
12
443
21,769
Hammed Oyedele retweeted
My metaharness, Solo (soloterm.com), now supports Linux! It's very good Give it a shot and lemme know how it goes 😅
18
8
5
237
16,583
Hammed Oyedele retweeted
am i doing it right?
2
2
17
1,322
Hammed Oyedele retweeted
Thanks to a suggestion from @dr4goonis, we've added a new stats section to the Elephc homepage. You can now see at a glance how far we've come in terms of PHP compatibility, with clear percentages tracking our progress. Check it out: elephc.dev
5
9
1
50
2,183
Hammed Oyedele retweeted
We protect over 5 million PHP sites and when we find a major exploitable vulnerability, we always see site cleanings. We have seen exactly zero hacked sites from php2shell. Zero. Across a population of 5 million PHP sites that our product protects. Draw your own conclusions. #php2shell
55
119
44
1,016
234,389
None of my PHP projects are accepting file uploads directly anyways, I use direct to object storage approach for all uploads, so I have disabled multipart requests and this session upload progress thingy till further notice. I have also updated the FrankenPHP PHP GitHub Gist I created with these new defaults so I can always copy it over to new projects: gist.github.com/devhammed/42…
Set session.upload_progress.enabled=0 till next PHP release to block an unlikely RCE vector (CVE-2026-115560). Already recommended for CVE-2026-109619 Wed, keep disabled. Only apps with non-default serialize_handler switching it to "php" at runtime can be affected. #php #phpc
1
4
28
6,725
They are called SAPI (Server API) and they are abstractions of how PHP is executed. You can check PHP_SAPI constant to get the current SAPI that a script is executing on. Common values: apache2handler, cgi (until PHP 5.3), cgi-fcgi, cli, cli-server (php -S), embed, fpm-fcgi, litespeed, phpdbg.
Replying to @ferron_web @eevblog
Yeah, the original post missed "embed" which is another form of PHP and that is the one you embed in other programming languages like what FrankenPHP is doing with Go.
1
4
293