<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Malaika Consultants — Blog</title><description>Engineering notes and case studies from the Malaika Consultants team — legacy modernization, practical AI, and shipping to production.</description><link>https://malaikaconsultants.com/</link><language>en-us</language><item><title>ASP.NET Web Forms Migration: Moving to Modern .NET Without a Rewrite</title><link>https://malaikaconsultants.com/blog/asp-net-web-forms-migration/</link><guid isPermaLink="true">https://malaikaconsultants.com/blog/asp-net-web-forms-migration/</guid><description>The technical shape of an ASP.NET Web Forms migration: the real gaps (ViewState, HttpContext, the page lifecycle), .NET Standard as the shared-code bridge, and a YARP + System.Web Adapters strangler-fig to move to ASP.NET Core one page at a time.</description><pubDate>Tue, 11 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Calling Python from a .NET Application (and When You Actually Should)</title><link>https://malaikaconsultants.com/blog/calling-python-from-a-dotnet-application/</link><guid isPermaLink="true">https://malaikaconsultants.com/blog/calling-python-from-a-dotnet-application/</guid><description>Your app is .NET, but the library or model you need is Python. How to call Python from a .NET application — subprocess, a REST/gRPC service, or in-process interop — the real trade-offs of each, and how to decide whether to cross the boundary at all.</description><pubDate>Tue, 11 Aug 2026 00:00:00 GMT</pubDate></item><item><title>WordPress vs. Astro vs. Next.js for Marketing &amp; Content Sites</title><link>https://malaikaconsultants.com/blog/wordpress-vs-astro-vs-nextjs/</link><guid isPermaLink="true">https://malaikaconsultants.com/blog/wordpress-vs-astro-vs-nextjs/</guid><description>WordPress, Astro, or Next.js for a marketing or content site? An honest comparison of the trade-offs — who each is really for, and how to decide — from a team that has built and migrated sites on all three.</description><pubDate>Thu, 06 Aug 2026 00:00:00 GMT</pubDate></item><item><title>From Excel Hell to Python: Automating Your Business Reports</title><link>https://malaikaconsultants.com/blog/automate-business-reports-with-python/</link><guid isPermaLink="true">https://malaikaconsultants.com/blog/automate-business-reports-with-python/</guid><description>The monthly report ritual — export, paste, fix formulas, email — quietly costs you a day and invites errors. What it really costs, and how automating business reports with Python fixes it for good.</description><pubDate>Sat, 01 Aug 2026 00:00:00 GMT</pubDate></item><item><title>The Best SQL Query Optimization Tools (and When Tools Aren&apos;t Enough)</title><link>https://malaikaconsultants.com/blog/best-sql-query-optimization-tools/</link><guid isPermaLink="true">https://malaikaconsultants.com/blog/best-sql-query-optimization-tools/</guid><description>The free built-in SQL Server tools that matter most, the third-party monitors worth paying for, and the point where a tool stops helping and expertise takes over.</description><pubDate>Thu, 30 Jul 2026 00:00:00 GMT</pubDate></item><item><title>AWS Bedrock Pricing Explained: What It Actually Costs to Run AI in Production</title><link>https://malaikaconsultants.com/blog/aws-bedrock-pricing-explained/</link><guid isPermaLink="true">https://malaikaconsultants.com/blog/aws-bedrock-pricing-explained/</guid><description>How AWS Bedrock pricing really works — the cost model, the drivers that dominate your bill, the extras nobody warns you about, and practical ways to control what you spend.</description><pubDate>Thu, 30 Jul 2026 00:00:00 GMT</pubDate></item><item><title>What Is Legacy Application Modernization? A Practical Guide</title><link>https://malaikaconsultants.com/blog/what-is-legacy-application-modernization/</link><guid isPermaLink="true">https://malaikaconsultants.com/blog/what-is-legacy-application-modernization/</guid><description>What legacy application modernization actually means, why it&apos;s urgent now, the strategies that work (rewrite vs. refactor vs. replatform), and how to modernize aging .NET and enterprise systems incrementally — without a risky rewrite.</description><pubDate>Thu, 30 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Your .NET 8 and .NET 9 Apps Lose Support on November 10, 2026</title><link>https://malaikaconsultants.com/blog/dotnet-8-9-end-of-support-what-to-do/</link><guid isPermaLink="true">https://malaikaconsultants.com/blog/dotnet-8-9-end-of-support-what-to-do/</guid><description>Microsoft ends support for .NET 8 and .NET 9 on November 10, 2026 — no more security patches. What it actually means, the risk of waiting, and how we move you to .NET 10 without a risky rewrite.</description><pubDate>Fri, 24 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Build, Deploy &amp; Host an Astro Site with GitHub and Cloudflare Pages</title><link>https://malaikaconsultants.com/blog/deploy-an-astro-site-with-github-and-cloudflare-pages/</link><guid isPermaLink="true">https://malaikaconsultants.com/blog/deploy-an-astro-site-with-github-and-cloudflare-pages/</guid><description>A complete, step-by-step guide to Astro&apos;s architecture, a Git-driven QA → live deployment workflow, and hosting on Cloudflare Pages — the exact stack running this site.</description><pubDate>Sat, 18 Jul 2026 00:00:00 GMT</pubDate></item><item><title>The Avalanche</title><link>https://malaikaconsultants.com/blog/anatomy-of-a-database-saturation-part-1/</link><guid isPermaLink="true">https://malaikaconsultants.com/blog/anatomy-of-a-database-saturation-part-1/</guid><description>How a cache-miss stampede took a production database from a quiet baseline to connection-pool exhaustion in minutes — and why it was a caching story, not a traffic story.</description><pubDate>Wed, 15 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Cause vs. Victim</title><link>https://malaikaconsultants.com/blog/anatomy-of-a-database-saturation-part-2/</link><guid isPermaLink="true">https://malaikaconsultants.com/blog/anatomy-of-a-database-saturation-part-2/</guid><description>In a saturated database, everything looks slow and everything looks guilty. Telling the cause from the victims — and the red herrings — with layered evidence instead of intuition.</description><pubDate>Wed, 15 Jul 2026 00:00:00 GMT</pubDate></item><item><title>The Fixes</title><link>https://malaikaconsultants.com/blog/anatomy-of-a-database-saturation-part-3/</link><guid isPermaLink="true">https://malaikaconsultants.com/blog/anatomy-of-a-database-saturation-part-3/</guid><description>Plan stability, a covering index, and the 74 indexes we chose not to create — the payoff fixes from a database-saturation incident, most of them small once you know exactly where to aim.</description><pubDate>Wed, 15 Jul 2026 00:00:00 GMT</pubDate></item><item><title>From WordPress to Astro: Why We Rebuilt Our Own Site</title><link>https://malaikaconsultants.com/blog/moving-a-wordpress-site-to-astro/</link><guid isPermaLink="true">https://malaikaconsultants.com/blog/moving-a-wordpress-site-to-astro/</guid><description>The honest trade-offs between WordPress and Astro — from a team that just migrated its own site, gotchas and all.</description><pubDate>Tue, 14 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Cutover, and Proving You Didn&apos;t Break Anything</title><link>https://malaikaconsultants.com/blog/modernizing-a-legacy-api-part-3/</link><guid isPermaLink="true">https://malaikaconsultants.com/blog/modernizing-a-legacy-api-part-3/</guid><description>Choosing a cutover strategy, moving to a new platform, and proving byte-for-byte client compatibility before any real traffic moves.</description><pubDate>Mon, 13 Jul 2026 00:00:00 GMT</pubDate></item><item><title>The Bugs a Faithful Rewrite Surfaces</title><link>https://malaikaconsultants.com/blog/modernizing-a-legacy-api-part-2/</link><guid isPermaLink="true">https://malaikaconsultants.com/blog/modernizing-a-legacy-api-part-2/</guid><description>The latent defects a careful, one-endpoint-at-a-time rebuild uncovers — and the judgment calls between preserving legacy behavior and quietly fixing it.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate></item><item><title>The Constraint That Shaped Everything</title><link>https://malaikaconsultants.com/blog/modernizing-a-legacy-api-part-1/</link><guid isPermaLink="true">https://malaikaconsultants.com/blog/modernizing-a-legacy-api-part-1/</guid><description>Migrating a production ASP.NET WebForms API to modern .NET with a Clean Architecture — while it stayed live and its clients kept working, untouched.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Migrate from SVN to Git in 7 Easy Steps</title><link>https://malaikaconsultants.com/blog/migrate-from-svn-to-git-in-7-easy-steps/</link><guid isPermaLink="true">https://malaikaconsultants.com/blog/migrate-from-svn-to-git-in-7-easy-steps/</guid><description>Move a Subversion repository to Git and keep every commit, author, and branch. A field-tested, step-by-step migration guide — a refreshed classic from our archive.</description><pubDate>Sat, 06 Mar 2021 00:00:00 GMT</pubDate></item><item><title>Never Prefix Your Stored Procedures with sp_</title><link>https://malaikaconsultants.com/blog/never-prefix-stored-procedures-with-sp/</link><guid isPermaLink="true">https://malaikaconsultants.com/blog/never-prefix-stored-procedures-with-sp/</guid><description>A tiny SQL Server naming rule with real performance and correctness consequences — still true in every version. Another refreshed classic from the archive.</description><pubDate>Thu, 27 Jan 2011 00:00:00 GMT</pubDate></item></channel></rss>