<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Michael Soliman | Learning Blog</title><description>Technical notes, tutorials, and learning experiences by Michael Soliman.</description><link>https://www.michaelsoliman.com/</link><language>en-us</language><item><title>My Personal Website Architecture: Why I Chose Astro, GitHub, and Cloudflare Pages</title><link>https://www.michaelsoliman.com/blog/681c27-my-personal-website-architecture/</link><guid isPermaLink="true">https://www.michaelsoliman.com/blog/681c27-my-personal-website-architecture/</guid><description>Why I built my personal website as a zero-cost static site using Astro, GitHub, and Cloudflare Pages—prioritizing longevity, sub-millisecond edge delivery, and zero maintenance over complex dynamic stacks.</description><pubDate>Sat, 12 Sep 2026 00:00:00 GMT</pubDate></item><item><title>How I Converted a WooCommerce Catalog from U.S. Customary Units to Metric with LLM Function Calling</title><link>https://www.michaelsoliman.com/blog/c88c3d-woocommerce-us-customary-to-metric-llm-agent/</link><guid isPermaLink="true">https://www.michaelsoliman.com/blog/c88c3d-woocommerce-us-customary-to-metric-llm-agent/</guid><description>How a hybrid architecture combining an LLM for semantic HTML parsing and Java for deterministic arithmetic automated the conversion of hundreds of e-commerce products—with state persistence and surgical compensating rollbacks.</description><pubDate>Sat, 12 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Sequential IDs vs. UUIDs: Choosing the Right Identifier for Modern Systems</title><link>https://www.michaelsoliman.com/blog/u7d4a1-sequential-ids-in-the-database/</link><guid isPermaLink="true">https://www.michaelsoliman.com/blog/u7d4a1-sequential-ids-in-the-database/</guid><description>An architectural analysis of sequential integer IDs versus UUIDs, the tradeoffs of UUIDv4 and UUIDv7, and how to choose the right identifier for modern database systems.</description><pubDate>Sat, 12 Sep 2026 00:00:00 GMT</pubDate></item><item><title>How I Discovered Apache Iceberg: Understanding Modern Lakehouses</title><link>https://www.michaelsoliman.com/blog/a7c2e1-apache-iceberg-cloudflare-r2-data-catalog/</link><guid isPermaLink="true">https://www.michaelsoliman.com/blog/a7c2e1-apache-iceberg-cloudflare-r2-data-catalog/</guid><description>How coming across Cloudflare&apos;s R2 Data Catalog sent me down the rabbit hole of learning Apache Iceberg, table formats, and modern open lakehouses.</description><pubDate>Fri, 11 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Why I Use Jujutsu (jj) VCS: Frictionless Version Control with AI Agents</title><link>https://www.michaelsoliman.com/blog/j6f9c4-why-i-use-jujutsu-vcs/</link><guid isPermaLink="true">https://www.michaelsoliman.com/blog/j6f9c4-why-i-use-jujutsu-vcs/</guid><description>How Jujutsu replaces the fragile git add/commit/push ritual with automatic snapshots, effortless rebasing, instant undo, and non-blocking conflicts when building with AI agents.</description><pubDate>Fri, 11 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Why I Use Scoop: The Clean Package Manager for Windows Developers</title><link>https://www.michaelsoliman.com/blog/s4d8b2-why-i-use-scoop-package-manager-on-windows/</link><guid isPermaLink="true">https://www.michaelsoliman.com/blog/s4d8b2-why-i-use-scoop-package-manager-on-windows/</guid><description>How Scoop replaced my custom scripts with user-space developer tooling, shims, version retention, and manifest-defined persistence.</description><pubDate>Fri, 11 Sep 2026 00:00:00 GMT</pubDate></item></channel></rss>