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.

PHP & web development tutorials
WSO2 integration guides
Zoho Business Applications
White papers & research

fail2ban Said 218 Bans. It Had Blocked Nothing

fail2ban logged 218 bans and blocked nobody. An actionless jail, a reload that said OK, a dead allow rule and a blind log watch, and the checks that work.

Kofi Boateng 11 Oct 2026 62
5 min

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.

Kwame Asante 11 Oct 2026 42

A Cron Job That Fired 8,073 Times and Never Ran

Four ways scheduled jobs in our product stopped running without an error: a step that killed the rest, unread failures, a host move and an unwritable log.

Chrystal Akyempon 11 Oct 2026 49
5 min

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.

Kwame Asante 11 Oct 2026 57

Source Only on One Desktop: Recovering an Integration from a Local Branch

An integration ran in production while its source sat on one laptop. How to rebase it onto master, prove its scope and match it to the deployed CAR.

Chrystal Akyempon 07 Oct 2026 61

1 Is Not 1.0: XPath Arithmetic in Synapse, and Doing Without the Script Mediator

Why a Synapse counter holds 1.0 instead of 1, how to fix it at the assignment with native mediators, and when a Script mediator is still worth it.

Kofi Boateng 06 Oct 2026 52
5 min

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.

Kwame Asante 05 Oct 2026 45

When the Script Mediator Error Is Not a Script Error: JSON Responses Too Large to Build

A WSO2 EI Script mediator error that was really a JSON response too large to build, three theories ruled out, and the fix: partition the request.

5 min

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.

Chrystal Akyempon 02 Oct 2026 63

Ghana Is Talking to Microsoft About AI Skills. Here Is What It Means for You

A working group, an MoU for 100,000 TVET facilitators and talks at the UN. What has been agreed, who it reaches first, and where you can start now.

Chrystal Akyempon 01 Oct 2026 46

Fails Somewhere Else, Part 2: Silent Runtime Traps in WSO2 EI

Expressions that evaluate wrongly, consumers waiting on nothing and APIs that answer 202 while writing nothing: WSO2 EI runtime traps that fail silently.

Chrystal Akyempon 30 Sep 2026 44
7 min

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.

Kwame Asante 28 Sep 2026 35

One Apostrophe, One Thousand Rows: How an Escaping Fix Exposed a String-Built INSERT

An apostrophe in a surname lost whole batches of rows: how removing a wrong escaping step exposed a string-built SQL INSERT, and the workaround.

Kofi Boateng 25 Sep 2026 32

DMARC p=reject Without SPF: Why Forwarding a Business Mailbox to Gmail Fails

Reading a business mailbox in the Gmail app is easy. Forwarding it to Gmail loses mail both ways under DMARC p=reject. Use IMAP instead.

Abena Mensah 23 Sep 2026 45

Fails Somewhere Else, Part 1: Silent Build and Deployment Traps in WSO2 EI

A green build, a healthy dashboard and a deployed CApp can still hide a missing artefact. The WSO2 EI build and deployment traps that fail silently.

Chrystal Akyempon 21 Sep 2026 42
6 min

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.

Exactly Twice: Scheduled Tasks, Hot Deployment and Clustered WSO2 EI Nodes

A load that came out at exactly twice its size: how hot-deploying a scheduled task to a WSO2 EI cluster made both nodes run it, and the deployment check.

6 min

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.

ICT Now Drives Ghana's Growth. Here Is How to Train for It

Information and Communication grew 30.9% year on year and accounted for 41.5% of all growth in the Ghanaian economy in Q2 2026. Three years of double-digit growth is a trend you can plan a career…

Chrystal Akyempon 10 Sep 2026 133
18 min

Diagnosing JVM Memory Leaks in WSO2 Enterprise Integrator

The full diagnostic funnel from an OOM crash to the single misconfigured mediator behind it, written as a repeatable method for Synapse-based runtimes.

Chrystal Akyempon 10 Sep 2026 114

Heap Analysis Without Leaving the Browser: Eclipse MAT on GitHub Codespaces

A multi-gigabyte heap dump will not open on a working laptop. The full workflow for running Eclipse Memory Analyzer headless in a GitHub Codespace (resize, upload, install, Leak Suspects report)…

Chrystal Akyempon 10 Sep 2026 150

The Aggregate That Did Nothing: Anatomy of a WSO2 EI Memory Leak

A WSO2 Enterprise Integrator cluster kept restarting and the GC logs said the heap was too small. The heap dump said otherwise: an <aggregate> mediator that had been accumulating XML in memory for…

Chrystal Akyempon 10 Sep 2026 92
4 min

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…

Zoho Flow vs Zoho Deluge: When to Use Each One

Zoho Flow and Zoho Deluge both automate work in the Zoho suite, but they are designed for very different jobs. This article explains when to use each one, and when to use them together.

Chrystal Akyempon 04 Apr 2026 344
White Paper Web Development
6 min

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…

What Is Digital Transformation and What Does It Mean for Ghana's Economy?

Digital transformation is more than buying software. It is a fundamental shift in how organisations create value. This article examines where Ghana stands, what the skills bottleneck means for the…

Chrystal Akyempon 03 Apr 2026 210
4 min

The ICT Skills Gap in Ghana: A 2026 Assessment and Training Roadmap

Ghana's ICT sector is growing faster than its capacity to produce qualified professionals. This paper assesses the skills gap across software development, enterprise integration, business…

Chrystal Akyempon 02 Apr 2026 412

Cybersecurity Basics Every Ghanaian Business Owner Should Know

Mobile money fraud, phishing, and WhatsApp takeovers are growing threats for Ghanaian businesses. This practical guide covers the most common attacks and the specific steps every business owner can…

ICT Career Paths in Ghana: Which Technical Track Should You Choose?

Breaking down the four main ICT career tracks in Ghana (PHP development, WSO2 integration, Zoho business applications, and ICT foundation) with honest information about the work, the pay, and how…

Kofi Boateng 28 Mar 2026 279

Zoho CRM vs. Spreadsheets: Why Ghana's SMEs Need to Make the Switch

Most Ghanaian SMEs still manage customer data in spreadsheets. This article makes the case for switching to Zoho CRM, covering the hidden costs of spreadsheets, what CRM automation looks like in…

Chrystal Akyempon 25 Mar 2026 203
White Paper Web Development
6 min

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…

Chrystal Akyempon 22 Mar 2026 2975
4 min

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…

Chrystal Akyempon 20 Mar 2026 525

Building Your First API with WSO2 API Manager 4.6

A step-by-step guide to creating, securing, rate-limiting, and publishing your first REST API using WSO2 API Manager 4.6, from the Publisher Portal through to a live subscribed endpoint.

Chrystal Akyempon 18 Mar 2026 219
3 min

Enterprise Integration in West Africa: A Framework for WSO2 Adoption

This white paper examines the enterprise integration landscape in West Africa, identifies the key barriers to API-led connectivity in Ghana's financial and public sectors, and proposes a WSO2-based…

Chrystal Akyempon 15 Mar 2026 212
2 min

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…

Chrystal Akyempon 10 Mar 2026 241
3 min

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…

Chrystal Akyempon 05 Mar 2026 213