<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Emmanuel Moshood</title><description>Notes on my DevOps, Platform Engineering and MLOps career — what I build, break and learn.</description><link>https://blog.emmanuel.moshood.ca/</link><language>en-ca</language><item><title>TypeSafe in Front of Gemini</title><link>https://blog.emmanuel.moshood.ca/blog/typesafe-in-front-of-gemini/</link><guid isPermaLink="true">https://blog.emmanuel.moshood.ca/blog/typesafe-in-front-of-gemini/</guid><description>I wanted a reason to use TypeSafe that was not another chatbot wrapper. Most of the AI I wire into software still wants to talk. I needed something that would decide, then get out of the way.</description><pubDate>Sun, 27 Sep 2026 00:00:00 GMT</pubDate><category>AI</category><category>Typesafe</category><category>Gemini</category><category>Python</category></item><item><title>A minimal, production-minded CI pipeline with GitHub Actions</title><link>https://blog.emmanuel.moshood.ca/blog/github-actions-docker-pipeline/</link><guid isPermaLink="true">https://blog.emmanuel.moshood.ca/blog/github-actions-docker-pipeline/</guid><description>Build, test, scan and push a container image on every commit — with caching, least-privilege tokens and no long-lived secrets.</description><pubDate>Sat, 26 Sep 2026 00:00:00 GMT</pubDate><category>devops</category><category>ci-cd</category><category>github-actions</category><category>docker</category></item><item><title>Hello, world</title><link>https://blog.emmanuel.moshood.ca/blog/hello-world/</link><guid isPermaLink="true">https://blog.emmanuel.moshood.ca/blog/hello-world/</guid><description>Why I started this blog, and what I plan to write about as I grow in DevOps, platform engineering and MLOps.</description><pubDate>Sun, 20 Sep 2026 00:00:00 GMT</pubDate><category>career</category><category>meta</category></item></channel></rss>