<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Notes on MDT - Personal site</title><link>https://detafti.ir/en/notes/</link><description>Recent content in Notes on MDT - Personal site</description><generator>Hugo</generator><language>en-us</language><atom:link href="https://detafti.ir/en/notes/index.xml" rel="self" type="application/rss+xml"/><item><title>The Only Guide You'll Need for GitHub Spec Kit</title><link>https://detafti.ir/en/notes/github-spec-kit/</link><pubDate>Mon, 05 Oct 2026 22:47:00 +0330</pubDate><guid>https://detafti.ir/en/notes/github-spec-kit/</guid><description>&lt;p>Not watched yet. Saved to watch later.&lt;/p>
&lt;p>Video from &lt;a href="https://www.youtube.com/watch?v=a9eR1xsfvHg">Den Delimarsky&lt;/a>.&lt;/p></description></item><item><title>Building Effective Agents</title><link>https://detafti.ir/en/notes/building-effective-agents/</link><pubDate>Mon, 05 Oct 2026 22:24:00 +0330</pubDate><guid>https://detafti.ir/en/notes/building-effective-agents/</guid><description>&lt;p>Not read yet. Saved to read later.&lt;/p>
&lt;p>Post by &lt;a href="https://www.anthropic.com/engineering/building-effective-agents">Anthropic&lt;/a>.&lt;/p></description></item><item><title>MCP at the LHC: Coordinating the World's Largest Machine</title><link>https://detafti.ir/en/notes/mcp-at-the-lhc/</link><pubDate>Mon, 05 Oct 2026 22:22:00 +0330</pubDate><guid>https://detafti.ir/en/notes/mcp-at-the-lhc/</guid><description>&lt;p>Not watched yet. Saved to watch later.&lt;/p>
&lt;p>Video from &lt;a href="https://www.youtube.com/watch?v=XICH90Xa4HM">Georg Šumailov&lt;/a>.&lt;/p></description></item><item><title>Building AI Agents on the JVM</title><link>https://detafti.ir/en/notes/ai-agents-on-the-jvm/</link><pubDate>Mon, 05 Oct 2026 22:20:00 +0330</pubDate><guid>https://detafti.ir/en/notes/ai-agents-on-the-jvm/</guid><description>&lt;p>Not watched yet. Saved to watch later.&lt;/p>
&lt;p>Video from &lt;a href="https://www.youtube.com/watch?v=fLK7-SUVVak">Anton Arhipov&lt;/a>.&lt;/p></description></item><item><title>Why Agentic Systems Need Ontologies</title><link>https://detafti.ir/en/notes/agentic-systems-ontologies/</link><pubDate>Mon, 05 Oct 2026 22:16:00 +0330</pubDate><guid>https://detafti.ir/en/notes/agentic-systems-ontologies/</guid><description>&lt;p>Not watched yet. Saved to watch later.&lt;/p>
&lt;p>Video from &lt;a href="https://www.youtube.com/watch?v=Sir59K8ZDPU">Frank Coyle&lt;/a>.&lt;/p></description></item><item><title>The MCP Abstraction Tax</title><link>https://detafti.ir/en/notes/mcp-abstraction-tax/</link><pubDate>Mon, 05 Oct 2026 22:14:00 +0330</pubDate><guid>https://detafti.ir/en/notes/mcp-abstraction-tax/</guid><description>&lt;p>Not read yet. Saved to read later.&lt;/p>
&lt;p>Post by &lt;a href="https://justin.poehnelt.com/posts/mcp-abstraction-tax/">Justin Poehnelt&lt;/a>.&lt;/p></description></item><item><title>OpenClaw</title><link>https://detafti.ir/en/notes/openclaw/</link><pubDate>Mon, 05 Oct 2026 22:08:00 +0330</pubDate><guid>https://detafti.ir/en/notes/openclaw/</guid><description>&lt;p>Not read yet. Saved to read later.&lt;/p>
&lt;p>From the &lt;a href="https://www.thoughtworks.com/radar/tools/openclaw">Thoughtworks Technology Radar&lt;/a>.&lt;/p></description></item><item><title>Hermes Agent Full Course: Build and Sell (2026)</title><link>https://detafti.ir/en/notes/hermes-agent-course/</link><pubDate>Mon, 05 Oct 2026 00:43:00 +0330</pubDate><guid>https://detafti.ir/en/notes/hermes-agent-course/</guid><description>&lt;p>Not watched yet. Saved to watch later.&lt;/p>
&lt;p>Video from &lt;a href="https://www.youtube.com/watch?v=8yE6G1Lup1s">Samin Yasar&lt;/a>.&lt;/p></description></item><item><title>Code Connect 38 (After Coding — Masoud Beigi)</title><link>https://detafti.ir/en/notes/code-connect-38/</link><pubDate>Mon, 05 Oct 2026 00:36:00 +0330</pubDate><guid>https://detafti.ir/en/notes/code-connect-38/</guid><description>&lt;p>Not watched yet. Saved to watch later.&lt;/p>
&lt;p>Video from &lt;a href="https://www.youtube.com/watch?v=VKUDzTKlCLg">Code Connect&lt;/a>.&lt;/p></description></item><item><title>What a Paradise? Understanding Agents</title><link>https://detafti.ir/en/notes/understanding-agents/</link><pubDate>Mon, 05 Oct 2026 00:34:00 +0330</pubDate><guid>https://detafti.ir/en/notes/understanding-agents/</guid><description>&lt;p>Not watched yet. Saved to watch later.&lt;/p>
&lt;p>Video from &lt;a href="https://www.youtube.com/watch?v=t5Ld-tw8q9I">Jadi Mirmirani&lt;/a>.&lt;/p></description></item><item><title>Everything About AI Agents</title><link>https://detafti.ir/en/notes/ai-agent-elements/</link><pubDate>Sun, 04 Oct 2026 22:26:00 +0330</pubDate><guid>https://detafti.ir/en/notes/ai-agent-elements/</guid><description>&lt;p>Video from &lt;a href="https://www.youtube.com/watch?v=eicAD-UOn-c">Maryam Sadeghi&lt;/a>.&lt;/p>
&lt;h2 id="takeaways">Takeaways&lt;/h2>
&lt;ul>
&lt;li>AI agent elements: LLM, tools, goal, loop, memory.&lt;/li>
&lt;li>Types of memory
&lt;ul>
&lt;li>Working memory: the current conversation, like RAM&lt;/li>
&lt;li>Procedural memory: how it should behave. Rules and instructions (skills)&lt;/li>
&lt;li>Semantic memory: stable facts we want the agent to always know&lt;/li>
&lt;li>Episodic memory: a timestamped history of past events and conversations&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;p>These memories are stored in a database.&lt;/p>
&lt;p>The cost gets high. Distill: summarize and pull out a few important things, then store them in the database.&lt;/p></description></item><item><title>Liveness is not health</title><link>https://detafti.ir/en/notes/k8s-liveness-vs-readiness/</link><pubDate>Fri, 11 Sep 2026 17:20:00 +0330</pubDate><guid>https://detafti.ir/en/notes/k8s-liveness-vs-readiness/</guid><description>&lt;p>The worst Kubernetes outage I keep seeing is not a node dying. It is a slow database, a liveness probe that talks to that database, and a cluster that then kills every pod that was still doing useful work.&lt;/p>
&lt;p>Liveness does not mean “the app is healthy.” It means “this process is so stuck that Kubernetes should shoot it.” If you point that gun at a dependency, you will shoot the fleet.&lt;/p></description></item><item><title>Spring @Transactional does not mean what you think</title><link>https://detafti.ir/en/notes/spring-transactional-in-production/</link><pubDate>Fri, 11 Sep 2026 17:10:00 +0330</pubDate><guid>https://detafti.ir/en/notes/spring-transactional-in-production/</guid><description>&lt;p>In review I still see &lt;code>@Transactional&lt;/code> used as a blessing: put it on a method, and the database will behave. It will not. Spring starts a transaction when a &lt;strong>proxy&lt;/strong> intercepts an incoming call. If the call never hits the proxy, you have no transaction, no rollback, and a very confusing production bug.&lt;/p>
&lt;h2 id="what-i-believed--what-i-do-now">What I believed → what I do now&lt;/h2>
&lt;p>I used to sprinkle &lt;code>@Transactional&lt;/code> on every service method “to be safe.” I now put it on the one method that is the use-case boundary, I write a test that proves rollback, and I treat same-class private calls as a smell.&lt;/p></description></item><item><title>Java, Spring, Kubernetes</title><link>https://detafti.ir/en/notes/java-spring-kubernetes/</link><pubDate>Fri, 11 Sep 2026 17:00:00 +0330</pubDate><guid>https://detafti.ir/en/notes/java-spring-kubernetes/</guid><description>&lt;p>A map of how I actually run backend software: Java on the JVM, Spring as the application layer, Kubernetes as the place it lives. Start here, then open the note that matches the problem in front of you.&lt;/p>
&lt;p>This is not a tutorial index. It is the order I would walk a teammate through after an incident.&lt;/p>
&lt;h2 id="if-you-are-new-here">If you are new here&lt;/h2>
&lt;ol>
&lt;li>&lt;a href="https://detafti.ir/en/notes/spring-transactional-in-production/">Spring &lt;code>@Transactional&lt;/code> does not mean what you think&lt;/a> — where transactions actually start, and why a method calling another method on &lt;code>this&lt;/code> silently does nothing.&lt;/li>
&lt;li>&lt;a href="https://detafti.ir/en/notes/k8s-liveness-vs-readiness/">Liveness is not health&lt;/a> — the Kubernetes outage that looks like a crash loop but started as a slow dependency.&lt;/li>
&lt;li>&lt;a href="https://detafti.ir/en/notes/reliability-lessons-from-sqlite/">Reliability lessons from SQLite&lt;/a> — why a tool that solves more problems than it creates stays in production.&lt;/li>
&lt;/ol>
&lt;p>The &lt;a href="https://detafti.ir/en/courses/java/">Java course&lt;/a> is the longer path if you want to write this stack with me, not only read about it.&lt;/p></description></item><item><title>Reliability Lessons From SQLite</title><link>https://detafti.ir/en/notes/reliability-lessons-from-sqlite/</link><pubDate>Fri, 28 Aug 2026 10:56:00 +0330</pubDate><guid>https://detafti.ir/en/notes/reliability-lessons-from-sqlite/</guid><description>&lt;p>Talk from &lt;a href="https://www.youtube.com/watch?v=V_qzqY1bb7I">SSW 2026&lt;/a>.&lt;/p>
&lt;h2 id="takeaways">Takeaways&lt;/h2>
&lt;ul>
&lt;li>SQLite is used so much because it solves more problems than it creates.&lt;/li>
&lt;/ul>
&lt;h2 id="notes">Notes&lt;/h2>
&lt;ul>
&lt;li>DO-178B
Software considerations in Airbone Systems and Equipment Certification&lt;/li>
&lt;/ul>
&lt;p>it leads to create Fossil: Better Project Management
MC/DC&lt;/p></description></item><item><title>Example: video note</title><link>https://detafti.ir/en/notes/example-video/</link><pubDate>Fri, 28 Aug 2026 10:00:00 +0330</pubDate><guid>https://detafti.ir/en/notes/example-video/</guid><description>&lt;p>This is a starter video note. Copy it, or delete it once you add your own.&lt;/p>
&lt;p>Use &lt;code>note_type = &amp;quot;video&amp;quot;&lt;/code> and put the YouTube URL in &lt;code>source&lt;/code> so the video embeds at the top. Headings like &lt;code>12:40&lt;/code> make timestamped notes easy to scan.&lt;/p>
&lt;h2 id="takeaways">Takeaways&lt;/h2>
&lt;ul>
&lt;li>The browser event loop is a queue: JavaScript runs one thing at a time, then picks the next callback.&lt;/li>
&lt;li>Rendering and I/O are not the same queue as your JS callbacks.&lt;/li>
&lt;li>&lt;code>setTimeout(fn, 0)&lt;/code> does not run immediately; it waits until the current stack is clear.&lt;/li>
&lt;/ul>
&lt;h2 id="notes">Notes&lt;/h2>
&lt;h3 id="0115--call-stack">01:15 — Call stack&lt;/h3>
&lt;p>JS is single-threaded. Each function call is pushed onto the stack and popped when it returns.&lt;/p></description></item><item><title>Example: book note</title><link>https://detafti.ir/en/notes/example-book/</link><pubDate>Thu, 27 Aug 2026 10:00:00 +0330</pubDate><guid>https://detafti.ir/en/notes/example-book/</guid><description>&lt;p>This is a starter book note. Copy it, or delete it once you add your own.&lt;/p>
&lt;p>Use &lt;code>note_type = &amp;quot;book&amp;quot;&lt;/code>, &lt;code>creator&lt;/code> for the author, and one heading per chapter. Set &lt;code>status&lt;/code> to &lt;code>in-progress&lt;/code> while you are still reading.&lt;/p>
&lt;h2 id="takeaways">Takeaways&lt;/h2>
&lt;ul>
&lt;li>Reliability, scalability, and maintainability are the three reasons we bother with data systems.&lt;/li>
&lt;li>There is no single storage engine that is best for every access pattern.&lt;/li>
&lt;li>Replication and partitioning are separate problems; most systems need both.&lt;/li>
&lt;/ul>
&lt;h2 id="chapter-1--reliable-scalable-and-maintainable-applications">Chapter 1 — Reliable, Scalable, and Maintainable Applications&lt;/h2>
&lt;p>Reliability means the system keeps working when things go wrong, not only in the happy path.&lt;/p></description></item></channel></rss>