Pinuno Academy
Blog & Resources
Practical guides and insights on PHP, WSO2, Zoho and ICT in Ghana, written by the practitioners who teach and build with these technologies.
Four Ways a Captcha Validated Nothing: reCAPTCHA Enterprise in Yii2
A threshold no score could cross, a skip the client controlled, an unchecked action and a check that failed open: four ways our captcha passed every bot.
A Green Deploy Still Serving the Previous Release
Why PHP can serve the old release for two minutes after a symlink deploy, why reloading the wrong process changed nothing, and how to prove the switch.
One Flag to Publish: Gating a Document's Banner, noindex and Sitemap Entry Together
Gate a draft page's banner, noindex tag and sitemap entry on one setting, and read every sentence first: the switch publishes all of it at once.
A Keyword Crawl Proves Presence, Never Absence: Lessons from Two Content Audits
A keyword sweep reported three missing topics that were all there, and missed three live claims hidden in meta tags, JSON-LD and a chatbot prompt.
Search Console Housekeeping on a Yii2 Site: Trailing Slashes, /index and One Stray Robots Line
Duplicate canonicals, a sitemap listing /index, a robots.txt error on every host: clearing Search Console noise on a Yii2 site in one afternoon.
Switching Icon Fonts Saves Nothing: Where the Bytes in an Icon Set Actually Go
Font Awesome to Bootstrap Icons is roughly a wash. The saving is in shipping only the glyphs you use as SVG, or in dropping a whole font file.
Your Page Weight Numbers Are Probably Wrong: Decoded Bytes, Transfer Bytes and the Cache
An audit reported a homepage three times heavier than what crossed the wire. How to measure transfer, not decoded, bytes, and what was worth fixing.
The Real Cost of Getting a Website Built in Ghana in 2026
Websites in Ghana are quoted at everything from GHS 500 to GHS 50,000. This article explains what drives the price, what each tier actually delivers, the red flags to watch for, and the questions to…
Building Maintainable Software in Ghana: The Case for Formal Development Practices
A significant proportion of custom software built in Ghana becomes unmaintainable within two years of delivery. This paper diagnoses the root cause…
Mobile Money Integration Patterns for Web Applications: A Technical Reference
A technical reference for integrating Mobile Money payments into web applications, covering the six core patterns that separate reliable MoMo integrations from fragile ones: pre-commit records…
What We Learned Integrating Hubtel MoMo Payments into a PHP Application
Real lessons from integrating Hubtel MoMo payments into a PHP web application: webhook reliability, idempotency, phone number normalisation, and how to handle failures gracefully so customers can…
PHP 8.3 in Production: What to Know Before You Upgrade
PHP 8.3 brings typed class constants, json_validate(), and cleaner readonly property handling. This guide walks through the key changes and a practical checklist for upgrading your production…
Why We Built Our Student Portal on Yii2 Instead of Laravel
We chose Yii2 over Laravel for the Pinuno Academy student portal. This is the reasoning behind that decision: where Yii2 wins, where Laravel has the edge, and the real lesson about framework choice…
Content Type
Recent Articles
fail2ban Said 218 Bans. It Had Blocked Nothing
11 Oct 2026
Four Ways a Captcha Validated Nothing: reCAPTCHA Enterprise in Yii2
11 Oct 2026
A Cron Job That Fired 8,073 Times and Never Ran
11 Oct 2026
A Green Deploy Still Serving the Previous Release
11 Oct 2026
Source Only on One Desktop: Recovering an Integration from a Local Branch
07 Oct 2026
Ready to learn?
From PHP to WSO2 - our structured courses turn these topics into practical, job-ready skills.
Browse CoursesOne Million Coders graduate?
Turn entry-level skills into a hireable, certified tech profile.
How to get hired after the One Million Coders Programme →Following the Ghana and Microsoft AI news?
What it means for your skills, and where to start now.
AI and digital skills in Ghana: your next step →