<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
  <title>ReLU.chat Blog</title>
  <link>https://relu.chat/blog/</link>
  <description>Technical articles about on-device AI, browser-based chatbots, NLP, and privacy-first machine learning.</description>
  <language>en</language>
  <lastBuildDate>Wed, 09 Sep 2026 14:41:29 GMT</lastBuildDate>
  <atom:link href="https://relu.chat/blog/feed.xml" rel="self" type="application/rss+xml"/>
  <image>
    <url>https://relu.chat/assets/logo.png</url>
    <title>ReLU.chat</title>
    <link>https://relu.chat</link>
  </image>
  <item>
    <title>Dot Product and Cosine Similarity, Step by Step — ReLU.chat</title>
    <link>https://relu.chat/blog/dot-product-cosine-worked-example/</link>
    <guid isPermaLink="true">https://relu.chat/blog/dot-product-cosine-worked-example/</guid>
    <pubDate>Wed, 09 Sep 2026 14:00:00 GMT</pubDate>
    <description>Work through a dot product, vector norms, and cosine similarity, including the zero-vector case that retrieval code must handle.</description>
    <author>Yunus Emre Vurgun (https://yunusemrevurgun.com)</author>
    <category>linear-algebra</category>
    <category>worked-example</category>
    <category>retrieval</category>
  </item>
  <item>
    <title>Data Leakage: Split by Entity Before You Train — ReLU.chat</title>
    <link>https://relu.chat/blog/grouped-validation-leakage/</link>
    <guid isPermaLink="true">https://relu.chat/blog/grouped-validation-leakage/</guid>
    <pubDate>Wed, 09 Sep 2026 14:00:00 GMT</pubDate>
    <description>Why random row splits overstate performance on repeated users, devices, or experiments, and how grouped validation changes the question.</description>
    <author>Yunus Emre Vurgun (https://yunusemrevurgun.com)</author>
    <category>data-science</category>
    <category>evaluation</category>
  </item>
  <item>
    <title>Least Squares Without Computing an Inverse — ReLU.chat</title>
    <link>https://relu.chat/blog/least-squares-without-inverse/</link>
    <guid isPermaLink="true">https://relu.chat/blog/least-squares-without-inverse/</guid>
    <pubDate>Wed, 09 Sep 2026 14:00:00 GMT</pubDate>
    <description>Derive a two-parameter fit, check its residuals, and understand why practical solvers use QR or SVD instead of an explicit inverse.</description>
    <author>Yunus Emre Vurgun (https://yunusemrevurgun.com)</author>
    <category>linear-algebra</category>
    <category>data-science</category>
    <category>worked-example</category>
  </item>
  <item>
    <title>Local Chat Privacy: What Still Uses the Network? — ReLU.chat</title>
    <link>https://relu.chat/blog/local-chat-privacy-network/</link>
    <guid isPermaLink="true">https://relu.chat/blog/local-chat-privacy-network/</guid>
    <pubDate>Wed, 09 Sep 2026 14:00:00 GMT</pubDate>
    <description>Distinguish local question processing from page downloads, browser storage, external links, and offline availability.</description>
    <author>Yunus Emre Vurgun (https://yunusemrevurgun.com)</author>
    <category>privacy</category>
    <category>browser-ai</category>
    <category>web-platform</category>
  </item>
  <item>
    <title>Find a Nash Equilibrium with Best Responses — ReLU.chat</title>
    <link>https://relu.chat/blog/nash-equilibrium-best-response-table/</link>
    <guid isPermaLink="true">https://relu.chat/blog/nash-equilibrium-best-response-table/</guid>
    <pubDate>Wed, 09 Sep 2026 14:00:00 GMT</pubDate>
    <description>Check a complete 2×2 game, identify two pure equilibria, and distinguish unilateral stability from efficiency.</description>
    <author>Yunus Emre Vurgun (https://yunusemrevurgun.com)</author>
    <category>game-theory</category>
    <category>worked-example</category>
  </item>
  <item>
    <title>Precision and Recall: A 100-Case Example — ReLU.chat</title>
    <link>https://relu.chat/blog/precision-recall-small-example/</link>
    <guid isPermaLink="true">https://relu.chat/blog/precision-recall-small-example/</guid>
    <pubDate>Wed, 09 Sep 2026 14:00:00 GMT</pubDate>
    <description>Compute precision, recall, accuracy, and F1 from the same small confusion matrix, then connect thresholds to the errors you care about.</description>
    <author>Yunus Emre Vurgun (https://yunusemrevurgun.com)</author>
    <category>data-science</category>
    <category>worked-example</category>
  </item>
  <item>
    <title>Q-learning vs SARSA: One Update, Worked Through — ReLU.chat</title>
    <link>https://relu.chat/blog/q-learning-sarsa-worked-example/</link>
    <guid isPermaLink="true">https://relu.chat/blog/q-learning-sarsa-worked-example/</guid>
    <pubDate>Wed, 09 Sep 2026 14:00:00 GMT</pubDate>
    <description>Calculate Q-learning and SARSA updates on the same transition, and see why their targets differ during exploration.</description>
    <author>Yunus Emre Vurgun (https://yunusemrevurgun.com)</author>
    <category>reinforcement-learning</category>
    <category>worked-example</category>
  </item>
  <item>
    <title>Rank, SVD, and Conditioning: Three Different Questions — ReLU.chat</title>
    <link>https://relu.chat/blog/rank-svd-conditioning/</link>
    <guid isPermaLink="true">https://relu.chat/blog/rank-svd-conditioning/</guid>
    <pubDate>Wed, 09 Sep 2026 14:00:00 GMT</pubDate>
    <description>Use a diagonal matrix to distinguish exact rank, low-rank approximation, and sensitivity to numerical perturbations.</description>
    <author>Yunus Emre Vurgun (https://yunusemrevurgun.com)</author>
    <category>linear-algebra</category>
    <category>numerical-computing</category>
  </item>
  <item>
    <title>How to Read Claims About Medieval Islamic Science — ReLU.chat</title>
    <link>https://relu.chat/blog/reading-islamic-science-sources/</link>
    <guid isPermaLink="true">https://relu.chat/blog/reading-islamic-science-sources/</guid>
    <pubDate>Wed, 09 Sep 2026 14:00:00 GMT</pubDate>
    <description>Distinguish a scholar’s work, surviving manuscripts, later biographies, and modern interpretations without reducing history to invention lists.</description>
    <author>Yunus Emre Vurgun (https://yunusemrevurgun.com)</author>
    <category>history-of-science</category>
    <category>sources</category>
  </item>
  <item>
    <title>Reward Design for a Small Learning Chatbot — ReLU.chat</title>
    <link>https://relu.chat/blog/reward-design-small-chatbot/</link>
    <guid isPermaLink="true">https://relu.chat/blog/reward-design-small-chatbot/</guid>
    <pubDate>Wed, 09 Sep 2026 14:00:00 GMT</pubDate>
    <description>Design routing rewards without confusing longer answers, topic overlap, or training scores with useful explanations.</description>
    <author>Yunus Emre Vurgun (https://yunusemrevurgun.com)</author>
    <category>reinforcement-learning</category>
    <category>evaluation</category>
    <category>chatbots</category>
  </item>
  <item>
    <title>Termination vs Truncation in RL Targets — ReLU.chat</title>
    <link>https://relu.chat/blog/rl-termination-truncation/</link>
    <guid isPermaLink="true">https://relu.chat/blog/rl-termination-truncation/</guid>
    <pubDate>Wed, 09 Sep 2026 14:00:00 GMT</pubDate>
    <description>A small numerical example shows why environment termination and time-limit truncation should not share one done flag.</description>
    <author>Yunus Emre Vurgun (https://yunusemrevurgun.com)</author>
    <category>reinforcement-learning</category>
    <category>debugging</category>
  </item>
  <item>
    <title>Service Worker Updates Without Stale Model Weights — ReLU.chat</title>
    <link>https://relu.chat/blog/service-worker-model-updates/</link>
    <guid isPermaLink="true">https://relu.chat/blog/service-worker-model-updates/</guid>
    <pubDate>Wed, 09 Sep 2026 14:00:00 GMT</pubDate>
    <description>Separate stable embedding assets from mutable policies, avoid eager runtime downloads, and test update and offline failure paths.</description>
    <author>Yunus Emre Vurgun (https://yunusemrevurgun.com)</author>
    <category>web-platform</category>
    <category>performance</category>
    <category>offline</category>
  </item>
  <item>
    <title>Training a Chatbot Policy on a Laptop — ReLU.chat</title>
    <link>https://relu.chat/blog/tiny-policy-training-cpu/</link>
    <guid isPermaLink="true">https://relu.chat/blog/tiny-policy-training-cpu/</guid>
    <pubDate>Wed, 09 Sep 2026 14:00:00 GMT</pubDate>
    <description>A reproducible CPU training recipe, a real three-second run, and the limits of routing metrics on a small contextual-bandit policy.</description>
    <author>Yunus Emre Vurgun (https://yunusemrevurgun.com)</author>
    <category>reinforcement-learning</category>
    <category>engineering</category>
    <category>evaluation</category>
  </item>
  <item>
    <title>WASM vs JavaScript: Verify the Same Model First — ReLU.chat</title>
    <link>https://relu.chat/blog/wasm-javascript-policy-parity/</link>
    <guid isPermaLink="true">https://relu.chat/blog/wasm-javascript-policy-parity/</guid>
    <pubDate>Wed, 09 Sep 2026 14:00:00 GMT</pubDate>
    <description>A small MLP shows why export parity, fixed memory, startup costs, and end-to-end latency matter more than assuming WASM is faster.</description>
    <author>Yunus Emre Vurgun (https://yunusemrevurgun.com)</author>
    <category>webassembly</category>
    <category>performance</category>
    <category>engineering</category>
  </item>
  <item>
    <title>Measuring Retrieval Quality: Precision, Recall, MRR and NDCG — ReLU.chat</title>
    <link>https://relu.chat/blog/retrieval-metrics-precision-recall-mrr/</link>
    <guid isPermaLink="true">https://relu.chat/blog/retrieval-metrics-precision-recall-mrr/</guid>
    <pubDate>Thu, 06 Aug 2026 17:30:00 GMT</pubDate>
    <description>How to evaluate a knowledge-base retriever with precision, recall, MRR, and NDCG: definitions, worked examples, and a tuning loop for dense/sparse ensembles.</description>
    <author>Yunus Emre Vurgun (https://yunusemrevurgun.com)</author>
    <category>retrieval</category>
    <category>ndcg</category>
    <category>mrr</category>
    <category>evaluation</category>
  </item>
  <item>
    <title>Chunking Strategies for Knowledge Bases: A Practical Guide — ReLU.chat</title>
    <link>https://relu.chat/blog/chunking-strategies-knowledge-base/</link>
    <guid isPermaLink="true">https://relu.chat/blog/chunking-strategies-knowledge-base/</guid>
    <pubDate>Thu, 06 Aug 2026 16:45:00 GMT</pubDate>
    <description>How chunk size, boundaries, and overlap decide what a knowledge base retriever can find — fixed, overlapping, and structure-aware chunking compared.</description>
    <author>Yunus Emre Vurgun (https://yunusemrevurgun.com)</author>
    <category>chunking</category>
    <category>retrieval</category>
    <category>knowledge-base</category>
    <category>embeddings</category>
    <category>bm25</category>
  </item>
  <item>
    <title>Query Expansion Without an LLM: Synonyms, Spelling, Boosting — ReLU.chat</title>
    <link>https://relu.chat/blog/query-expansion-without-llm/</link>
    <guid isPermaLink="true">https://relu.chat/blog/query-expansion-without-llm/</guid>
    <pubDate>Thu, 06 Aug 2026 15:30:00 GMT</pubDate>
    <description>Improve retrieval without an LLM: index-time alias weighting, query-side synonym expansion, edit-distance spelling correction, and boosting before re-ranking.</description>
    <author>Yunus Emre Vurgun (https://yunusemrevurgun.com)</author>
    <category>query-expansion</category>
    <category>bm25</category>
    <category>spelling-correction</category>
    <category>retrieval</category>
  </item>
  <item>
    <title>How Knowledge Bases Are Structured: Fragments and Metadata — ReLU.chat</title>
    <link>https://relu.chat/blog/knowledge-base-fragments-fields-metadata/</link>
    <guid isPermaLink="true">https://relu.chat/blog/knowledge-base-fragments-fields-metadata/</guid>
    <pubDate>Thu, 06 Aug 2026 14:00:00 GMT</pubDate>
    <description>Knowledge base entries built from categorized fragments, weighted fields, and confidence metadata — and why structure decides retrieval quality.</description>
    <author>Yunus Emre Vurgun (https://yunusemrevurgun.com)</author>
    <category>knowledge-base</category>
    <category>retrieval</category>
    <category>metadata</category>
    <category>bm25</category>
    <category>rag</category>
  </item>
  <item>
    <title>IndexedDB for On-Device AI: Embeddings and Session State — ReLU.chat</title>
    <link>https://relu.chat/blog/indexeddb-client-storage/</link>
    <guid isPermaLink="true">https://relu.chat/blog/indexeddb-client-storage/</guid>
    <pubDate>Thu, 06 Aug 2026 13:00:00 GMT</pubDate>
    <description>Store embeddings as binary and session state as records with IndexedDB: schema design, vector search, transactions, and local-first privacy.</description>
    <author>Yunus Emre Vurgun (https://yunusemrevurgun.com)</author>
    <category>indexeddb</category>
    <category>storage</category>
    <category>embeddings</category>
    <category>local-first</category>
    <category>privacy</category>
  </item>
  <item>
    <title>Float32 vs Float64 for In-Browser ML: Precision Trade-Offs — ReLU.chat</title>
    <link>https://relu.chat/blog/float32-vs-float64-precision/</link>
    <guid isPermaLink="true">https://relu.chat/blog/float32-vs-float64-precision/</guid>
    <pubDate>Thu, 06 Aug 2026 12:30:00 GMT</pubDate>
    <description>When to use float32 versus float64 in browser ML: tensors stay float32, accumulators like EMA summaries deserve float64, and int8 quantization shrinks weights.</description>
    <author>Yunus Emre Vurgun (https://yunusemrevurgun.com)</author>
    <category>float32</category>
    <category>float64</category>
    <category>precision</category>
    <category>quantization</category>
  </item>
</channel>
</rss>
