<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Field Notes by Dr. Estera Kot</title>
    <link>https://ekote.github.io/notes/</link>
    <atom:link href="https://ekote.github.io/notes/feed.xml" rel="self" type="application/rss+xml"/>
    <description>Technical notes by Dr. Estera Kot on Apache Spark, Microsoft Fabric, lakehouse architecture, and platform migration, on this site and on the Microsoft Fabric Updates Blog.</description>
    <language>en-us</language>
    <lastBuildDate>Tue, 03 Nov 2026 22:07:00 +0100</lastBuildDate>
    <item>
      <title>From Events to Answers: Real-Time Intelligence and Fabric IQ from zero</title>
      <link>https://ekote.github.io/notes/fabric-real-time-intelligence-fabric-iq-from-zero/</link>
      <guid isPermaLink="true">https://ekote.github.io/notes/fabric-real-time-intelligence-fabric-iq-from-zero/</guid>
      <dc:creator>Dr. Estera Kot</dc:creator>
      <pubDate>Tue, 03 Nov 2026 22:07:00 +0100</pubDate>
      <description>Real-Time Intelligence and Fabric IQ from zero, on one invented oud house. The demo writes the winner rule twice, in Activator and in the ontology, and Fabric still has no link between them.</description>
    </item>
    <item>
      <title>Real-Time Intelligence in plain words: the path of one event</title>
      <link>https://ekote.github.io/notes/fabric-real-time-intelligence-path-of-one-event/</link>
      <guid isPermaLink="true">https://ekote.github.io/notes/fabric-real-time-intelligence-path-of-one-event/</guid>
      <dc:creator>Dr. Estera Kot</dc:creator>
      <pubDate>Tue, 03 Nov 2026 22:06:00 +0100</pubDate>
      <description>Five parts, one job each. Follow one tester&#x27;s vote through Eventstream, Eventhouse, a dashboard, and an Activator rule, and see why the alert waits for 20 testers before 60 counts.</description>
    </item>
    <item>
      <title>What an ontology is, and why a data agent needs one</title>
      <link>https://ekote.github.io/notes/fabric-iq-ontology-explained/</link>
      <guid isPermaLink="true">https://ekote.github.io/notes/fabric-iq-ontology-explained/</guid>
      <dc:creator>Dr. Estera Kot</dc:creator>
      <pubDate>Tue, 03 Nov 2026 22:05:00 +0100</pubDate>
      <description>An ontology in Microsoft Fabric IQ is the dictionary of the business. One worked example: a rule that a winner has first choice above 60 changes the data agent&#x27;s answer, with no change to the data.</description>
    </item>
    <item>
      <title>The agent writes the sentence, the table holds the number</title>
      <link>https://ekote.github.io/notes/fabric-data-agent-numbers-from-tables/</link>
      <guid isPermaLink="true">https://ekote.github.io/notes/fabric-data-agent-numbers-from-tables/</guid>
      <dc:creator>Dr. Estera Kot</dc:creator>
      <pubDate>Tue, 03 Nov 2026 22:04:00 +0100</pubDate>
      <description>A Fabric data agent should write the sentence and the query, never the number. One demo answer taken apart, the guards that keep figures in tables, four build failures, and capacity facts.</description>
    </item>
    <item>
      <title>From demo to production: six gaps and three ways to build</title>
      <link>https://ekote.github.io/notes/fabric-iq-demo-to-production/</link>
      <guid isPermaLink="true">https://ekote.github.io/notes/fabric-iq-demo-to-production/</guid>
      <dc:creator>Dr. Estera Kot</dc:creator>
      <pubDate>Tue, 03 Nov 2026 22:03:00 +0100</pubDate>
      <description>A Fabric IQ demo proves the mechanics, not quality at scale. Six gaps to close, three ways to build, preview risk, and a production checklist for data agents.</description>
    </item>
    <item>
      <title>Fabric for 50 people in one evening</title>
      <link>https://ekote.github.io/notes/fabric-hands-on-workshop-50-people/</link>
      <guid isPermaLink="true">https://ekote.github.io/notes/fabric-hands-on-workshop-50-people/</guid>
      <dc:creator>Dr. Estera Kot</dc:creator>
      <pubDate>Tue, 03 Nov 2026 22:02:00 +0100</pubDate>
      <description>A hands-on Fabric session fails at sign-in, not at the demo. Accounts, MFA, a CU budget, and teardown for 50 people, from one evening at Microsoft Qatar.</description>
    </item>
    <item>
      <title>Teaching Microsoft Fabric from zero in two hours</title>
      <link>https://ekote.github.io/notes/teaching-microsoft-fabric-from-zero/</link>
      <guid isPermaLink="true">https://ekote.github.io/notes/teaching-microsoft-fabric-from-zero/</guid>
      <dc:creator>Dr. Estera Kot</dc:creator>
      <pubDate>Tue, 03 Nov 2026 22:01:00 +0100</pubDate>
      <description>Beginners leave at the first word nobody explained. How a two-hour Fabric session was built: five level rules, a minute clock, a glossary in pictures, a paper walkthrough, and a recovery line per demo step.</description>
    </item>
    <item>
      <title>Three doors out of Fabric: FabCon Europe 2026 in 18 demos</title>
      <link>https://ekote.github.io/notes/fabcon-europe-2026-fabric-demos/</link>
      <guid isPermaLink="true">https://ekote.github.io/notes/fabcon-europe-2026-fabric-demos/</guid>
      <dc:creator>Dr. Estera Kot</dc:creator>
      <pubDate>Tue, 03 Nov 2026 21:18:00 +0100</pubDate>
      <description>What FabCon Europe 2026 changed in Microsoft Fabric, read through 18 recorded demos: which door your data now leaves by, what is GA, and what to check first.</description>
    </item>
    <item>
      <title>“Fabric data in Microsoft Copilot” is on for everyone</title>
      <link>https://ekote.github.io/notes/fabric-data-in-microsoft-copilot-setting/</link>
      <guid isPermaLink="true">https://ekote.github.io/notes/fabric-data-in-microsoft-copilot-setting/</guid>
      <dc:creator>Dr. Estera Kot</dc:creator>
      <pubDate>Tue, 03 Nov 2026 21:17:00 +0100</pubDate>
      <description>A Microsoft 365 admin center setting decides who can ask Copilot about Power BI data, and it ships set to All users. Four gates, three owners, and the Monday check.</description>
    </item>
    <item>
      <title>One AI toggle on every semantic model</title>
      <link>https://ekote.github.io/notes/semantic-model-ai-setting/</link>
      <guid isPermaLink="true">https://ekote.github.io/notes/semantic-model-ai-setting/</guid>
      <dc:creator>Dr. Estera Kot</dc:creator>
      <pubDate>Tue, 03 Nov 2026 21:16:00 +0100</pubDate>
      <description>Each semantic model has a switch that opens it to Copilot, data agents, and Microsoft MCP tools for read-only users. It starts on, and models built on it do not inherit it.</description>
    </item>
    <item>
      <title>Fabric IQ MCP server: query a semantic model from your coding agent</title>
      <link>https://ekote.github.io/notes/fabric-iq-mcp-server/</link>
      <guid isPermaLink="true">https://ekote.github.io/notes/fabric-iq-mcp-server/</guid>
      <dc:creator>Dr. Estera Kot</dc:creator>
      <pubDate>Tue, 03 Nov 2026 21:15:00 +0100</pubDate>
      <description>Fabric IQ MCP is GA: six read-only tools let a coding agent find a semantic model and run DAX as you. Your agent writes the DAX, and users can grant consent themselves by default.</description>
    </item>
    <item>
      <title>Fabric Core MCP server: 43 tools, 25 of them write</title>
      <link>https://ekote.github.io/notes/fabric-core-mcp-server/</link>
      <guid isPermaLink="true">https://ekote.github.io/notes/fabric-core-mcp-server/</guid>
      <dc:creator>Dr. Estera Kot</dc:creator>
      <pubDate>Tue, 03 Nov 2026 21:14:00 +0100</pubDate>
      <description>Fabric Core MCP is GA, and Learn&#x27;s tools reference lists 43 tools, 25 of them write, including delete_workspace and OneLake role replacement. Where the safeguards sit, and Learn&#x27;s warning quoted.</description>
    </item>
    <item>
      <title>OneLake Table Read API: REST reads that respect row security</title>
      <link>https://ekote.github.io/notes/onelake-table-read-api/</link>
      <guid isPermaLink="true">https://ekote.github.io/notes/onelake-table-read-api/</guid>
      <dc:creator>Dr. Estera Kot</dc:creator>
      <pubDate>Tue, 03 Nov 2026 21:13:00 +0100</pubDate>
      <description>The OneLake Table Read API returns Fabric table rows as Apache Arrow over REST, with OneLake RLS and CLS applied on the server. Preview. The request path, six caller outcomes, and the cost catch.</description>
    </item>
    <item>
      <title>Unity Catalog and Iceberg REST on OneLake: one table, no copy</title>
      <link>https://ekote.github.io/notes/onelake-unity-catalog-iceberg-rest/</link>
      <guid isPermaLink="true">https://ekote.github.io/notes/onelake-unity-catalog-iceberg-rest/</guid>
      <dc:creator>Dr. Estera Kot</dc:creator>
      <pubDate>Tue, 03 Nov 2026 21:12:00 +0100</pubDate>
      <description>OneLake serves the same Delta tables through the Iceberg REST Catalog and a Unity Catalog compatible API, with no copy. Why OneLake security blocks instead of filtering there, and which door to use.</description>
    </item>
    <item>
      <title>OneLake catalog search API: find any item in the tenant from code</title>
      <link>https://ekote.github.io/notes/onelake-catalog-search-api/</link>
      <guid isPermaLink="true">https://ekote.github.io/notes/onelake-catalog-search-api/</guid>
      <dc:creator>Dr. Estera Kot</dc:creator>
      <pubDate>Tue, 03 Nov 2026 21:11:00 +0100</pubDate>
      <description>One POST to /v1/catalog/search finds Fabric items across every workspace you can access, and Fabric Core MCP runs the same search. Preview. Two permission gates, and what search exposes.</description>
    </item>
    <item>
      <title>Project Osmos: a data engineering agent that plans, runs, and checks</title>
      <link>https://ekote.github.io/notes/project-osmos-data-engineering-agent/</link>
      <guid isPermaLink="true">https://ekote.github.io/notes/project-osmos-data-engineering-agent/</guid>
      <dc:creator>Dr. Estera Kot</dc:creator>
      <pubDate>Tue, 03 Nov 2026 21:10:00 +0100</pubDate>
      <description>The Fabric data engineering agent turns one outcome into notebooks and a validated Delta table on SparkCore, as you. The eight-setting card, the permission wall, and the catches.</description>
    </item>
    <item>
      <title>Operations agent: root cause for a failed pipeline in Monitor hub</title>
      <link>https://ekote.github.io/notes/fabric-operations-agent-monitor-hub/</link>
      <guid isPermaLink="true">https://ekote.github.io/notes/fabric-operations-agent-monitor-hub/</guid>
      <dc:creator>Dr. Estera Kot</dc:creator>
      <pubDate>Tue, 03 Nov 2026 21:09:00 +0100</pubDate>
      <description>Select Investigate on a failed pipeline run and the operations agent explains the root cause, read-only and as you. It needs workspace monitoring on before the failure.</description>
    </item>
    <item>
      <title>Ontology in Fabric IQ: business rules an agent can read, not run</title>
      <link>https://ekote.github.io/notes/fabric-iq-ontology/</link>
      <guid isPermaLink="true">https://ekote.github.io/notes/fabric-iq-ontology/</guid>
      <dc:creator>Dr. Estera Kot</dc:creator>
      <pubDate>Tue, 03 Nov 2026 21:08:00 +0100</pubDate>
      <description>The ontology agent drafts entities, relationships, and metrics from a semantic model and writes only in Act mode. Rules are context, not enforcement. Old ontology retires Jan 31, 2027.</description>
    </item>
    <item>
      <title>Copilot for Real-Time Intelligence: a dashboard from one sentence</title>
      <link>https://ekote.github.io/notes/copilot-real-time-dashboard/</link>
      <guid isPermaLink="true">https://ekote.github.io/notes/copilot-real-time-dashboard/</guid>
      <dc:creator>Dr. Estera Kot</dc:creator>
      <pubDate>Tue, 03 Nov 2026 21:07:00 +0100</pubDate>
      <description>Copilot turns one sentence into a twelve-tile Real-Time Dashboard on an eventhouse. Preview. What it generates, and the four things to review before you share it.</description>
    </item>
    <item>
      <title>Fabric data agent: plain-language questions over a lakehouse</title>
      <link>https://ekote.github.io/notes/fabric-data-agent-lakehouse/</link>
      <guid isPermaLink="true">https://ekote.github.io/notes/fabric-data-agent-lakehouse/</guid>
      <dc:creator>Dr. Estera Kot</dc:creator>
      <pubDate>Tue, 03 Nov 2026 21:06:00 +0100</pubDate>
      <description>The Fabric data agent turns English questions into read-only SQL that runs as you. Grounding, the English-only limit, and how it reaches Microsoft 365 Copilot and Copilot Studio.</description>
    </item>
    <item>
      <title>OneLake security: define RLS and CLS once, enforce them everywhere</title>
      <link>https://ekote.github.io/notes/onelake-security-roles/</link>
      <guid isPermaLink="true">https://ekote.github.io/notes/onelake-security-roles/</guid>
      <dc:creator>Dr. Estera Kot</dc:creator>
      <pubDate>Tue, 03 Nov 2026 21:05:00 +0100</pubDate>
      <description>OneLake security roles define RLS and CLS once, and every Fabric engine enforces them, shortcuts included. Who they restrict, and why DefaultReader must change first.</description>
    </item>
    <item>
      <title>Outbound access protection: stop data leaving through shortcuts and agents</title>
      <link>https://ekote.github.io/notes/fabric-outbound-access-protection/</link>
      <guid isPermaLink="true">https://ekote.github.io/notes/fabric-outbound-access-protection/</guid>
      <dc:creator>Dr. Estera Kot</dc:creator>
      <pubDate>Tue, 03 Nov 2026 21:04:00 +0100</pubDate>
      <description>Workspace outbound access protection blocks every outbound connection from a Fabric workspace. What it covers (GA for shortcuts, preview for data agents), what it misses, and what it breaks.</description>
    </item>
    <item>
      <title>Policies in Fabric: an allow list with no Deny</title>
      <link>https://ekote.github.io/notes/fabric-policies-allow-list/</link>
      <guid isPermaLink="true">https://ekote.github.io/notes/fabric-policies-allow-list/</guid>
      <dc:creator>Dr. Estera Kot</dc:creator>
      <pubDate>Tue, 03 Nov 2026 21:03:00 +0100</pubDate>
      <description>Fabric policies, in preview, allow an action when a rule matches and block everything else, at tenant or capacity scope. How rules evaluate, and why the first rule changes the default.</description>
    </item>
    <item>
      <title>OneLake catalog Govern: one screen for labels, DLP, and settings</title>
      <link>https://ekote.github.io/notes/onelake-catalog-govern/</link>
      <guid isPermaLink="true">https://ekote.github.io/notes/onelake-catalog-govern/</guid>
      <dc:creator>Dr. Estera Kot</dc:creator>
      <pubDate>Tue, 03 Nov 2026 21:02:00 +0100</pubDate>
      <description>The OneLake catalog Govern tab shows label coverage, DLP results, and recommended actions, refreshed once a day. What it covers, what it misses, and how to turn its cards into a backlog.</description>
    </item>
    <item>
      <title>AI functions in Spark: translate, classify, and score sentiment in one line</title>
      <link>https://ekote.github.io/notes/fabric-ai-functions-spark/</link>
      <guid isPermaLink="true">https://ekote.github.io/notes/fabric-ai-functions-spark/</guid>
      <dc:creator>Dr. Estera Kot</dc:creator>
      <pubDate>Tue, 03 Nov 2026 21:01:00 +0100</pubDate>
      <description>ai.translate, ai.analyze_sentiment, and ai.classify on a Fabric DataFrame column through a built-in endpoint with no API key: runtimes, cost per token, regions, and when to bring your own model.</description>
    </item>
    <item>
      <title>Materialized lake views: a medallion in SQL with drop-on-mismatch rules</title>
      <link>https://ekote.github.io/notes/materialized-lake-views-data-quality/</link>
      <guid isPermaLink="true">https://ekote.github.io/notes/materialized-lake-views-data-quality/</guid>
      <dc:creator>Dr. Estera Kot</dc:creator>
      <pubDate>Tue, 03 Nov 2026 21:00:00 +0100</pubDate>
      <description>Silver and gold as CREATE MATERIALIZED LAKE VIEW statements with CHECK rules: DROP versus FAIL, lineage, incremental refresh, and a demo where three bad rows never reach gold.</description>
    </item>
    <item>
      <title>Fabric does not live in your VNet: workspace identity and the enterprise Landing Zone</title>
      <link>https://ekote.github.io/notes/fabric-workspace-identity-landing-zone/</link>
      <guid isPermaLink="true">https://ekote.github.io/notes/fabric-workspace-identity-landing-zone/</guid>
      <dc:creator>Dr. Estera Kot</dc:creator>
      <pubDate>Tue, 03 Nov 2026 19:53:04 +0100</pubDate>
      <description>Fabric meets an Azure Landing Zone at four crossings: identity, secrets, outbound, and inbound. Where workspace identity works, where the gateway stops it, and the Conditional Access trap.</description>
    </item>
    <item>
      <title>The Microsoft Fabric Maturity Model</title>
      <link>https://ekote.github.io/fabric/maturity-model/</link>
      <guid isPermaLink="true">https://ekote.github.io/fabric/maturity-model/</guid>
      <dc:creator>Dr. Estera Kot</dc:creator>
      <pubDate>Mon, 19 Oct 2026 01:37:36 +0200</pubDate>
      <description>Five levels from Foundation to Excellence, each with objectives, success criteria, and a self-assessment.</description>
    </item>
    <item>
      <title>Microsoft Fabric implementation: a practitioner&#x27;s guide</title>
      <link>https://ekote.github.io/fabric/</link>
      <guid isPermaLink="true">https://ekote.github.io/fabric/</guid>
      <dc:creator>Dr. Estera Kot</dc:creator>
      <pubDate>Mon, 19 Oct 2026 01:37:36 +0200</pubDate>
      <description>Nine implementation decisions in order, from F SKU capacity and OneLake design to Synapse migration and the Native Execution Engine. Common mistakes and an FAQ close it.</description>
    </item>
  </channel>
</rss>
