<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Mohammad Jamiu</title><description>Engineer and researcher. Notes on AI, security, software, finance, and open source.</description><link>https://mohammadjamiu.com/</link><item><title>ARR and headline revenue are not cash in the bank</title><link>https://mohammadjamiu.com/articles/arr-revenue-run-rate-is-not-cash/</link><guid isPermaLink="true">https://mohammadjamiu.com/articles/arr-revenue-run-rate-is-not-cash/</guid><description>When a company says it has ‘$200M ARR,’ founders often picture a vault. Here is a calmer breakdown of run-rate, cash, burn, and why businesses raise money even when revenue looks large on paper.</description><pubDate>Sun, 07 Jun 2026 00:00:00 GMT</pubDate></item><item><title>What “unicorn” actually means for startups (hint: not annual profit)</title><link>https://mohammadjamiu.com/articles/what-startup-unicorn-means/</link><guid isPermaLink="true">https://mohammadjamiu.com/articles/what-startup-unicorn-means/</guid><description>Founders and headlines throw around ‘unicorn.’ It almost never means the company makes a billion dollars a year in revenue or profit — it marks a private valuation threshold, usually set during a funding round.</description><pubDate>Sun, 07 Jun 2026 00:00:00 GMT</pubDate></item><item><title>When your year one tries to compare itself to someone else’s year forty</title><link>https://mohammadjamiu.com/articles/year-one-vs-legacy-operator-mindset/</link><guid isPermaLink="true">https://mohammadjamiu.com/articles/year-one-vs-legacy-operator-mindset/</guid><description>Looking at industrial giants and feeling behind is common among ambitious builders. The pain is real — but the comparison is often structurally unfair. Here is a calmer frame: trajectories, eras, and what ‘enough’ can mean at your scale.</description><pubDate>Sun, 07 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Why I am moving from Cursor and Claude Code to API-based AI coding workflows</title><link>https://mohammadjamiu.com/articles/cursor-vs-api-ai-coding-workflow/</link><guid isPermaLink="true">https://mohammadjamiu.com/articles/cursor-vs-api-ai-coding-workflow/</guid><description>Why I started moving away from Cursor and Claude Code subscriptions toward API-based AI coding workflows using DeepSeek, Kimi, and OpenCode — and what changed in how I think about cost and model choice.</description><pubDate>Sat, 06 Jun 2026 00:00:00 GMT</pubDate></item><item><title>How I Fixed &quot;The API Key Appears to Be Invalid or May Have Expired&quot; When Connecting Kimi K2.5/K2.6 in OpenCode</title><link>https://mohammadjamiu.com/articles/fix-kimi-k2-api-key-invalid-opencode/</link><guid isPermaLink="true">https://mohammadjamiu.com/articles/fix-kimi-k2-api-key-invalid-opencode/</guid><description>Getting &quot;The API Key appears to be invalid or may have expired&quot; when using Kimi K2.5 or K2.6 in OpenCode? Here is the exact fix that worked for me using Moonshot AI instead of the Kimi Coding provider.</description><pubDate>Sat, 06 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Halal investment vs riba (interest)</title><link>https://mohammadjamiu.com/articles/halal-nigeria-halal-vs-riba/</link><guid isPermaLink="true">https://mohammadjamiu.com/articles/halal-nigeria-halal-vs-riba/</guid><description>How halal returns differ from riba, with Sukuk, mudarabah, and Nigerian platforms — and why a projected return is not the same as guaranteed interest.</description><pubDate>Sat, 06 Jun 2026 00:00:00 GMT</pubDate></item><item><title>InvestNaija walkthrough — funding and buying halal-listed stocks (Nigeria)</title><link>https://mohammadjamiu.com/articles/halal-nigeria-investnaija-stock-guide/</link><guid isPermaLink="true">https://mohammadjamiu.com/articles/halal-nigeria-investnaija-stock-guide/</guid><description>A practical step-by-step for the InvestNaija app in Nigeria: KYC, funding your account through Paystack, placing a buy order, how fees differ from riba, and what to double-check before you trade.</description><pubDate>Sat, 06 Jun 2026 00:00:00 GMT</pubDate></item><item><title>The One17 halal fund (Nigeria) — what it is</title><link>https://mohammadjamiu.com/articles/halal-nigeria-one17-halal-fund/</link><guid isPermaLink="true">https://mohammadjamiu.com/articles/halal-nigeria-one17-halal-fund/</guid><description>An educational overview of One17’s Shariah-compliant mutual fund: asset types, common Islamic contracts, fees, allocation ranges, and how to subscribe.</description><pubDate>Sat, 06 Jun 2026 00:00:00 GMT</pubDate></item><item><title>One17 halal mutual fund — how to invest, track, and redeem</title><link>https://mohammadjamiu.com/articles/halal-nigeria-one17-mutual-fund-how-to/</link><guid isPermaLink="true">https://mohammadjamiu.com/articles/halal-nigeria-one17-mutual-fund-how-to/</guid><description>Step-style notes: subscribing to the One17 halal fund, tracking NAV, redemption rules, and habits that help new mutual-fund investors stay steady.</description><pubDate>Sat, 06 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Halal investing in Nigeria — series overview</title><link>https://mohammadjamiu.com/articles/halal-nigeria-series-overview/</link><guid isPermaLink="true">https://mohammadjamiu.com/articles/halal-nigeria-series-overview/</guid><description>A growing set of notes on riba, halal vs interest-based returns, One17’s halal fund, InvestNaija walkthroughs, and a Nigeria-focused stock tracker — for Muslims and anyone investing ethically.</description><pubDate>Sat, 06 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Halal stock tracker — Nigeria (screening snapshot)</title><link>https://mohammadjamiu.com/articles/halal-nigeria-stock-tracker/</link><guid isPermaLink="true">https://mohammadjamiu.com/articles/halal-nigeria-stock-tracker/</guid><description>A snapshot table of selected NGX names with halal screening notes, AAOIFI-style ratio rules, and a simple dividend purification formula — refresh prices and ratios before you trade.</description><pubDate>Sat, 06 Jun 2026 00:00:00 GMT</pubDate></item><item><title>What is riba (interest)?</title><link>https://mohammadjamiu.com/articles/halal-nigeria-what-is-riba/</link><guid isPermaLink="true">https://mohammadjamiu.com/articles/halal-nigeria-what-is-riba/</guid><description>A concise note on what riba means in Islamic finance, with simple examples and how it differs from profit from real risk.</description><pubDate>Sat, 06 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Can LLMs Close Education Gaps in Africa?</title><link>https://mohammadjamiu.com/articles/llms-closing-education-gaps-africa/</link><guid isPermaLink="true">https://mohammadjamiu.com/articles/llms-closing-education-gaps-africa/</guid><description>AI language models are transforming learning globally — but they&apos;re mostly built for the Global North. Here&apos;s how we can make them genuinely useful for African students.</description><pubDate>Wed, 20 May 2026 00:00:00 GMT</pubDate></item><item><title>Web Security Fundamentals Every Developer Must Know</title><link>https://mohammadjamiu.com/articles/web-security-every-developer-must-know/</link><guid isPermaLink="true">https://mohammadjamiu.com/articles/web-security-every-developer-must-know/</guid><description>A practical walkthrough of the vulnerabilities that break real applications — OWASP Top 10, injection attacks, authentication failures — and how to write defensively from day one.</description><pubDate>Tue, 28 Apr 2026 00:00:00 GMT</pubDate></item><item><title>What Building Technical Products in Africa Actually Looks Like</title><link>https://mohammadjamiu.com/articles/building-technical-products-in-africa/</link><guid isPermaLink="true">https://mohammadjamiu.com/articles/building-technical-products-in-africa/</guid><description>Infrastructure gaps, payment friction, low bandwidth, and distrust of digital systems — and why none of that should stop you from building things that matter.</description><pubDate>Sat, 14 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Islamic Finance Basics: Riba and Why It Matters</title><link>https://mohammadjamiu.com/articles/islamic-finance-riba/</link><guid isPermaLink="true">https://mohammadjamiu.com/articles/islamic-finance-riba/</guid><description>Breaking down the concept of riba (interest) in Islamic finance and why prohibition exists beyond just religious obligation.</description><pubDate>Tue, 10 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Understanding PDF.js vs react-pdf: What I Learned</title><link>https://mohammadjamiu.com/articles/pdfjs-vs-react-pdf/</link><guid isPermaLink="true">https://mohammadjamiu.com/articles/pdfjs-vs-react-pdf/</guid><description>A breakdown of the relationship between pdfjs-dist and react-pdf, and why understanding the dependency tree matters.</description><pubDate>Fri, 20 Feb 2026 00:00:00 GMT</pubDate></item><item><title>Lessons from Naval Ravikant on Building Wealth</title><link>https://mohammadjamiu.com/articles/naval-ravikant-wealth/</link><guid isPermaLink="true">https://mohammadjamiu.com/articles/naval-ravikant-wealth/</guid><description>Key takeaways from Naval&apos;s podcast episodes on wealth creation, leverage, and specific knowledge.</description><pubDate>Thu, 05 Feb 2026 00:00:00 GMT</pubDate></item><item><title>Notes from Imam Ghazali&apos;s &apos;Revival of Religious Sciences&apos;</title><link>https://mohammadjamiu.com/articles/imam-ghazali-revival-notes/</link><guid isPermaLink="true">https://mohammadjamiu.com/articles/imam-ghazali-revival-notes/</guid><description>Key insights from reading Imam Ghazali&apos;s Ihya Ulum al-Din and how they apply to modern life and entrepreneurship.</description><pubDate>Wed, 28 Jan 2026 00:00:00 GMT</pubDate></item><item><title>pdfjs-dist vs pdf-parse when you care about pages, not just a blob of text</title><link>https://mohammadjamiu.com/articles/pdfjs-dist-vs-pdf-parse-for-ai-tools/</link><guid isPermaLink="true">https://mohammadjamiu.com/articles/pdfjs-dist-vs-pdf-parse-for-ai-tools/</guid><description>Both extract text from PDFs; one is a full engine with layout and workers, the other is a quick dump. I picked sides for an AI reading assistant.</description><pubDate>Sat, 17 Jan 2026 00:00:00 GMT</pubDate></item><item><title>On Timing, Readiness, and Why Some Ideas Die Too Early</title><link>https://mohammadjamiu.com/articles/timing-readiness-startup-ideas/</link><guid isPermaLink="true">https://mohammadjamiu.com/articles/timing-readiness-startup-ideas/</guid><description>After a virtual talk with startup investor Greg Fox: why timing can matter more than idea, team, model, or funding—and what readiness means for builders, with lessons from global giants and Nigeria’s ecosystem.</description><pubDate>Sat, 17 Jan 2026 00:00:00 GMT</pubDate></item><item><title>Why I Started My EdTech Journey</title><link>https://mohammadjamiu.com/articles/why-i-started-edtech/</link><guid isPermaLink="true">https://mohammadjamiu.com/articles/why-i-started-edtech/</guid><description>The story behind building in the education technology space in Nigeria and the problems I&apos;m trying to solve.</description><pubDate>Thu, 15 Jan 2026 00:00:00 GMT</pubDate></item><item><title>Publishing Our First Research Paper in Telecommunication</title><link>https://mohammadjamiu.com/articles/publishing-first-paper/</link><guid isPermaLink="true">https://mohammadjamiu.com/articles/publishing-first-paper/</guid><description>The story of how my friends and I published our first academic paper and what I learned about research, collaboration, and persistence.</description><pubDate>Wed, 10 Dec 2025 00:00:00 GMT</pubDate></item><item><title>Indexing everything is not the flex people think it is</title><link>https://mohammadjamiu.com/articles/database-indexes-are-a-tradeoff/</link><guid isPermaLink="true">https://mohammadjamiu.com/articles/database-indexes-are-a-tradeoff/</guid><description>Indexes speed reads until they slow writes and eat RAM. I finally internalized ‘frequently queried’ as a design choice, not a checklist.</description><pubDate>Mon, 22 Sep 2025 00:00:00 GMT</pubDate></item><item><title>Sequential vs parallel: when order actually matters</title><link>https://mohammadjamiu.com/articles/sequential-vs-parallel-async-work/</link><guid isPermaLink="true">https://mohammadjamiu.com/articles/sequential-vs-parallel-async-work/</guid><description>Parallelizing everything is tempting. Some pipelines only work in order — payments and balances taught me that the hard way.</description><pubDate>Fri, 15 Aug 2025 00:00:00 GMT</pubDate></item><item><title>Caching generated PowerPoints with a content hash</title><link>https://mohammadjamiu.com/articles/hash-caching-for-ppt-generation/</link><guid isPermaLink="true">https://mohammadjamiu.com/articles/hash-caching-for-ppt-generation/</guid><description>Regenerating slides with pptxgenjs on every request was slow. Hashing the input and reusing the stored file when nothing changed made the API feel instant.</description><pubDate>Sun, 20 Jul 2025 00:00:00 GMT</pubDate></item><item><title>Why my Next.js OG image was ignored (spoiler: wrong filename)</title><link>https://mohammadjamiu.com/articles/nextjs-opengraph-image-file-convention/</link><guid isPermaLink="true">https://mohammadjamiu.com/articles/nextjs-opengraph-image-file-convention/</guid><description>Next only picks up certain names for social images. I used og-image.jpg and wondered why previews broke until I read the convention list.</description><pubDate>Sun, 01 Jun 2025 00:00:00 GMT</pubDate></item><item><title>MongoDB TTL indexes: free deletes, not free resources</title><link>https://mohammadjamiu.com/articles/mongodb-ttl-indexes-and-atlas-limits/</link><guid isPermaLink="true">https://mohammadjamiu.com/articles/mongodb-ttl-indexes-and-atlas-limits/</guid><description>TTL is the right hammer for expiring documents, but storage, indexes, and delete load still count on small clusters like Atlas M0.</description><pubDate>Mon, 12 May 2025 00:00:00 GMT</pubDate></item><item><title>When Next.js keeps your scroll position and you wish it wouldn’t</title><link>https://mohammadjamiu.com/articles/nextjs-scroll-to-top-on-route-change/</link><guid isPermaLink="true">https://mohammadjamiu.com/articles/nextjs-scroll-to-top-on-route-change/</guid><description>Client-side navigation can leave you halfway down the new page. A small effect tied to the pathname fixes it when you want a fresh scroll each time.</description><pubDate>Sat, 05 Apr 2025 00:00:00 GMT</pubDate></item><item><title>Switching between npm, pnpm, and Yarn without hurting yourself</title><link>https://mohammadjamiu.com/articles/switching-package-managers-lockfiles/</link><guid isPermaLink="true">https://mohammadjamiu.com/articles/switching-package-managers-lockfiles/</guid><description>Each tool writes its own lockfile. Mix them and you get phantom bugs. Here is the cleanup ritual I use when I change my mind mid-project.</description><pubDate>Mon, 10 Mar 2025 00:00:00 GMT</pubDate></item><item><title>shadcn’s preset URL and PowerShell’s love-hate relationship with &amp;</title><link>https://mohammadjamiu.com/articles/shadcn-preset-url-powershell-ampersand/</link><guid isPermaLink="true">https://mohammadjamiu.com/articles/shadcn-preset-url-powershell-ampersand/</guid><description>Copy-pasting the init command from the UI failed on Windows because &amp; splits commands. Triple-quoting the URL fixed it.</description><pubDate>Fri, 17 Jan 2025 00:00:00 GMT</pubDate></item></channel></rss>