Your browser sucks, JavaScript disabled! Gunnar's console needs JavaScript and WebAssembly. Git over SSH on port 2222 does not.

nordisk/knut

.nornir/assets/knut-session.svg

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 900 260" font-family="-apple-system,Segoe UI,Roboto,sans-serif" font-size="13">
  <defs>
    <marker id="a" markerWidth="9" markerHeight="9" refX="7" refY="3" orient="auto">
      <path d="M0,0 L7,3 L0,6 Z" fill="#555"/>
    </marker>
  </defs>
  <text x="30" y="28" font-weight="700" font-size="16">A full knut session — lake to query, end to end</text>

  <!-- step ribbon -->
  <g>
    <rect x="30" y="70" width="150" height="72" rx="8" fill="#eef3fb" stroke="#2b5fb3" stroke-width="1.5"/>
    <text x="105" y="96" text-anchor="middle" font-weight="600">1 · start</text>
    <text x="105" y="114" text-anchor="middle" fill="#555" font-size="11">FalkorDB-on-Valkey9</text>
    <text x="105" y="129" text-anchor="middle" fill="#555" font-size="11">spark-iceberg</text>

    <rect x="205" y="70" width="150" height="72" rx="8" fill="#eefaf0" stroke="#2f8f4e" stroke-width="1.5"/>
    <text x="280" y="96" text-anchor="middle" font-weight="600">2 · load</text>
    <text x="280" y="114" text-anchor="middle" fill="#555" font-size="11">popviz / population</text>
    <text x="280" y="129" text-anchor="middle" fill="#555" font-size="11">Arrow → FalkorDB</text>

    <rect x="380" y="70" width="150" height="72" rx="8" fill="#fdf2ec" stroke="#c26a2b" stroke-width="1.5"/>
    <text x="455" y="96" text-anchor="middle" font-weight="600">3 · serve</text>
    <text x="455" y="114" text-anchor="middle" fill="#555" font-size="11">Flight SQL server</text>
    <text x="455" y="129" text-anchor="middle" fill="#555" font-size="11">register_named</text>

    <rect x="555" y="70" width="150" height="72" rx="8" fill="#f6eefb" stroke="#7a3fb3" stroke-width="1.5"/>
    <text x="630" y="96" text-anchor="middle" font-weight="600">4 · query</text>
    <text x="630" y="114" text-anchor="middle" fill="#555" font-size="11">python / Power BI</text>
    <text x="630" y="129" text-anchor="middle" fill="#555" font-size="11">SELECT * FROM people</text>

    <rect x="730" y="70" width="150" height="72" rx="8" fill="#fbeeee" stroke="#b33b3b" stroke-width="1.5"/>
    <text x="805" y="96" text-anchor="middle" font-weight="600">5 · stream</text>
    <text x="805" y="114" text-anchor="middle" fill="#555" font-size="11">bifrost run</text>
    <text x="805" y="129" text-anchor="middle" fill="#555" font-size="11">Iceberg → graph CDC</text>
  </g>

  <path d="M180,106 L203,106" fill="none" stroke="#555" stroke-width="1.5" marker-end="url(#a)"/>
  <path d="M355,106 L378,106" fill="none" stroke="#555" stroke-width="1.5" marker-end="url(#a)"/>
  <path d="M530,106 L553,106" fill="none" stroke="#555" stroke-width="1.5" marker-end="url(#a)"/>
  <path d="M705,106 L728,106" fill="none" stroke="#555" stroke-width="1.5" marker-end="url(#a)"/>

  <!-- feedback: bifrost keeps the graph fresh under the live query -->
  <path d="M805,142 C805,200 460,200 455,144" fill="none" stroke="#999" stroke-width="1.3" stroke-dasharray="4 3" marker-end="url(#a)"/>
  <text x="630" y="197" text-anchor="middle" fill="#888" font-size="11" font-style="italic">the graph stays fresh under the live query — MERGE is idempotent</text>

  <text x="30" y="240" fill="#888" font-size="12" font-style="italic">Author + watch the compute with knutpipe (pipelines) or Þund (thund) alongside.</text>
</svg>