Engineering notes from the trenches of building software.
Practical, no-hype writing for developers and businesses - on AI, ERPNext, Frappe, Linux and shipping software. I cut through the noise to what actually works, with a sharp eye on what it all means for Africa.
- 451
- Articles
- 33
- Topics
- 7
- Years writing
Featured article
Don't Get Pressured Into Buying AI Before Your Business Is Ready
The hype says buy AI now or be left behind. The truth is most businesses aren't ready yet, and rushing wastes money, frustrates teams and quietly breaks customer trust. Using the Ngazi ladder, here's how to find the rung you're really on and take the one step that pays off.
Recent articles
Blocked by CORS Policy: Stop Reaching for Access-Control-Allow-Origin: *
The wildcard breaks the moment you send cookies, and reflecting the Origin header is worse. Here is the allowlist pattern, the nginx config and the curl test that proves it.
ArgoCD Stuck on 'Waiting for Completion of Hook': Breaking the Deadlock
Your ArgoCD sync has waited on a PreSync Job for forty minutes and Terminate changes nothing. Here is why the hook never completes and the exact steps that clear it.
App Store Guideline 2.3.1 Rejections: It's Rarely Your Text
Guideline 2.3.1 is a hidden functionality rule, not a description rule. Here is what actually triggers it in React Native and Flutter apps, and the checklist that clears it.
Your Cert Automation Should Default to Let's Encrypt Staging
Five test renewals can exhaust the duplicate certificate limit and block a real renewal for a week. Here is why certbot drifts to production, and the directory split that prevents it.
Certbot connection refused on http-01: diagnosing proxies, IPv6 and port 80
Connection refused is not the same as a timeout, and the difference tells you exactly where to look. A diagnostic order for failed Let's Encrypt http-01 challenges.
Daraja API in Production: STK Push, C2B and B2C With Callbacks That Actually Work
A build-order guide to Safaricom's Daraja API with real payloads: OAuth token caching, STK Push, C2B v2 registration, B2C v3 with RSA security credentials, and the callback URL rules nobody documents.