<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:turbo="http://turbo.yandex.ru" version="2.0">
<channel>
<title>Mahdi Molavi | Senior Backend Engineer &amp; Tensor Researcher</title>
<link>https://mahdimolavi.ir/</link>
<language>en</language>
<description>Mahdi Molavi | Senior Backend Engineer &amp; Tensor Researcher</description>
<generator>DataLife Engine</generator><item>
<title>IRT Calibration Notes 2: Who Actually Entered the Calibration</title>
<guid isPermaLink="true">https://mahdimolavi.ir/backend-notes/73-irt-calibration-notes-2-who-actually-entered-the-calibration.html</guid>
<link>https://mahdimolavi.ir/backend-notes/73-irt-calibration-notes-2-who-actually-entered-the-calibration.html</link>
<description><![CDATA[<p><img src="https://mahdimolavi.ir/uploads/posts/2026-10/irt-notes-2.jpg" alt="IRT Calibration Notes 2: Who Actually Entered the Calibration" width="1200" height="630"></p>
<p>One exam and its mathematics lesson had four legitimate student counts: 521, 530, 522 and 523. How request identity, applicability filters, seen-blank versus unseen coding and a silent library helper decided who and what entered an IRT calibration.</p>]]></description>
<category><![CDATA[Backend]]></category>
<dc:creator>admin</dc:creator>
<pubDate>Wed, 21 Oct 2026 10:00:00 +0330</pubDate>
</item><item>
<title>IRT Calibration Notes 1: When a Low Discrimination Score Is a Pipeline Problem</title>
<guid isPermaLink="true">https://mahdimolavi.ir/backend-notes/71-irt-calibration-notes-1-low-discrimination-score-pipeline-problem.html</guid>
<link>https://mahdimolavi.ir/backend-notes/71-irt-calibration-notes-1-low-discrimination-score-pipeline-problem.html</link>
<description><![CDATA[<p><img src="https://mahdimolavi.ir/uploads/posts/2026-10/irt-notes-1.jpg" alt="IRT Calibration Notes 1: When a Low Discrimination Score Is a Pipeline Problem" width="1200" height="630"></p>
<p>Three new exams showed far lower maximum IRT discrimination than the archive. Before blaming the questions, I checked the 2PL model, a stored Lambda, a misleading 3pl name and two code paths, and learned to read a coefficient as the output of a pipeline.</p>]]></description>
<category><![CDATA[Backend]]></category>
<dc:creator>admin</dc:creator>
<pubDate>Tue, 20 Oct 2026 10:00:00 +0330</pubDate>
</item><item>
<title>Backend Notes 3: Minimal APIs for a Real .NET Service</title>
<guid isPermaLink="true">https://mahdimolavi.ir/backend-notes/27-backend-notes-3-minimal-apis-real-dotnet-service.html</guid>
<link>https://mahdimolavi.ir/backend-notes/27-backend-notes-3-minimal-apis-real-dotnet-service.html</link>
<description><![CDATA[<p><img src="https://mahdimolavi.ir/uploads/posts/2026-10/backend-notes-3.jpg" alt="Backend Notes 3: Minimal APIs for a Real .NET Service" width="1200" height="630"></p>
<p>Structuring a Minimal API service that stays readable at fifty endpoints: feature folders, route groups, TypedResults, validation, ProblemDetails, output caching, rate limiting, health checks, an upgrade path from .NET 6/8 and integration tests.</p>]]></description>
<category><![CDATA[Backend]]></category>
<dc:creator>admin</dc:creator>
<pubDate>Mon, 19 Oct 2026 10:00:00 +0330</pubDate>
</item></channel></rss>