<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>LinsaFTW — technical writing</title>
    <link>https://linsaftw.arkflame.com/articles.html</link>
    <atom:link href="https://linsaftw.arkflame.com/rss.xml" rel="self" type="application/rss+xml" />
    <description>Source-backed notes on Minecraft infrastructure, security, systems and AI products.</description>
    <language>en</language>
    <lastBuildDate>Fri, 30 Oct 2026 00:00:00 GMT</lastBuildDate>
    <item>
      <title>A canonical contract for an OpenAI-compatible API</title>
      <link>https://linsaftw.arkflame.com/posts/ark-ai-canonical-api-contract.html</link>
      <guid isPermaLink="true">https://linsaftw.arkflame.com/posts/ark-ai-canonical-api-contract.html</guid>
      <description>ARK AI parses once, rejects unknown fields, streams from the provider, bounds the agent loop, and makes usage accounting idempotent.</description>
      <pubDate>Fri, 30 Oct 2026 00:00:00 GMT</pubDate>
      <category>ark-ai</category>
      <category>api</category>
      <category>streaming</category>
      <category>benchmark</category>
    </item>
    <item>
      <title>Premium sessions and the trust boundary between proxy and backend</title>
      <link>https://linsaftw.arkflame.com/posts/authme-premium-session-trust.html</link>
      <guid isPermaLink="true">https://linsaftw.arkflame.com/posts/authme-premium-session-trust.html</guid>
      <description>AuthMePremium&apos;s two session bridges, fail-closed validation, proxy UUID trust files, and the identity checks that remain outside the plugin.</description>
      <pubDate>Fri, 30 Oct 2026 00:00:00 GMT</pubDate>
      <category>authmepremium</category>
      <category>minecraft</category>
      <category>authentication</category>
      <category>proxy</category>
    </item>
    <item>
      <title>Entity caps as a budget, not a single number</title>
      <link>https://linsaftw.arkflame.com/posts/entitylimiter-chunk-budgeting.html</link>
      <guid isPermaLink="true">https://linsaftw.arkflame.com/posts/entitylimiter-chunk-budgeting.html</guid>
      <description>How EntityLimiter combines per-type and group caps, RADIUS and GRID counting, bounded reconciliation, tombstones and claim hooks.</description>
      <pubDate>Fri, 30 Oct 2026 00:00:00 GMT</pubDate>
      <category>entitylimiter</category>
      <category>minecraft</category>
      <category>performance</category>
      <category>folia</category>
    </item>
    <item>
      <title>ExploitFixer: packet validation order before semantics</title>
      <link>https://linsaftw.arkflame.com/posts/exploitfixer-packet-validation-order.html</link>
      <guid isPermaLink="true">https://linsaftw.arkflame.com/posts/exploitfixer-packet-validation-order.html</guid>
      <description>How ExploitFixer checks raw frames before decoded packets, and what its watchdog budgets, violation buckets, and dependency gates do and do not cover.</description>
      <pubDate>Fri, 30 Oct 2026 00:00:00 GMT</pubDate>
      <category>exploitfixer</category>
      <category>packets</category>
      <category>security</category>
      <category>minecraft</category>
    </item>
    <item>
      <title>FairPlay: compensation only after the checks agree</title>
      <link>https://linsaftw.arkflame.com/posts/fairplay-combat-compensation-pipeline.html</link>
      <guid isPermaLink="true">https://linsaftw.arkflame.com/posts/fairplay-combat-compensation-pipeline.html</guid>
      <description>How FairPlay deduplicates PacketEvents input, aggregates combat results, resolves transaction providers, and keeps compensation inside a combat-only scope.</description>
      <pubDate>Fri, 30 Oct 2026 00:00:00 GMT</pubDate>
      <category>fairplay</category>
      <category>anticheat</category>
      <category>packetevents</category>
      <category>combat</category>
    </item>
    <item>
      <title>FlameCord&apos;s connection lifecycle is the antibot</title>
      <link>https://linsaftw.arkflame.com/posts/flamecord-connection-lifecycle-antibot.html</link>
      <guid isPermaLink="true">https://linsaftw.arkflame.com/posts/flamecord-connection-lifecycle-antibot.html</guid>
      <description>FlameCord orders antibot work by connection state: status pings, login checks, limbo, per-address accounting, and a host firewall that is not free.</description>
      <pubDate>Fri, 30 Oct 2026 00:00:00 GMT</pubDate>
      <category>flamecord</category>
      <category>antibot</category>
      <category>proxy</category>
      <category>minecraft</category>
    </item>
    <item>
      <title>A spawner production loop with a ceiling</title>
      <link>https://linsaftw.arkflame.com/posts/flamespawners-bounded-production-loop.html</link>
      <guid isPermaLink="true">https://linsaftw.arkflame.com/posts/flamespawners-bounded-production-loop.html</guid>
      <description>FlameSpawners dispatches production in bounded passes, caps logical rolls, and treats output as backpressure instead of an unbounded queue.</description>
      <pubDate>Fri, 30 Oct 2026 00:00:00 GMT</pubDate>
      <category>flamespawners</category>
      <category>minecraft</category>
      <category>scheduling</category>
      <category>folia</category>
    </item>
    <item>
      <title>Compiling HTML and CSS into native render commands</title>
      <link>https://linsaftw.arkflame.com/posts/flamewm-render-compiler-html-css-native.html</link>
      <guid isPermaLink="true">https://linsaftw.arkflame.com/posts/flamewm-render-compiler-html-css-native.html</guid>
      <description>How FlameWM turns shell markup into a build-time render artifact, what the compiler accepts, and what disappears when the browser does.</description>
      <pubDate>Fri, 30 Oct 2026 00:00:00 GMT</pubDate>
      <category>flamewm</category>
      <category>rendering</category>
      <category>html</category>
      <category>rust</category>
    </item>
    <item>
      <title>Owning the root window: X11 window management in FlameWM</title>
      <link>https://linsaftw.arkflame.com/posts/flamewm-x11-window-management-without-a-browser.html</link>
      <guid isPermaLink="true">https://linsaftw.arkflame.com/posts/flamewm-x11-window-management-without-a-browser.html</guid>
      <description>What it takes to be the X11 window manager rather than wrap one: reparenting, EWMH, workspace ownership, and the Wayland boundary.</description>
      <pubDate>Fri, 30 Oct 2026 00:00:00 GMT</pubDate>
      <category>flamewm</category>
      <category>x11</category>
      <category>rust</category>
      <category>wayland</category>
    </item>
    <item>
      <title>Folia scheduler bridges without hard dependencies</title>
      <link>https://linsaftw.arkflame.com/posts/folia-scheduler-bridges-without-hard-dependencies.html</link>
      <guid isPermaLink="true">https://linsaftw.arkflame.com/posts/folia-scheduler-bridges-without-hard-dependencies.html</guid>
      <description>How three plugins keep Folia scheduler types out of loaded signatures, what reflective bridges buy at class-load time, and what they still do not prove.</description>
      <pubDate>Fri, 30 Oct 2026 00:00:00 GMT</pubDate>
      <category>folia</category>
      <category>threading</category>
      <category>minecraft-plugins</category>
      <category>compatibility</category>
    </item>
    <item>
      <title>What a packet library abstraction still costs</title>
      <link>https://linsaftw.arkflame.com/posts/packet-library-abstraction-costs.html</link>
      <guid isPermaLink="true">https://linsaftw.arkflame.com/posts/packet-library-abstraction-costs.html</guid>
      <description>PacketEvents can be a hard dependency or an optional adapter. Neither choice removes version drift, cancellation ownership, or multi-path maintenance.</description>
      <pubDate>Fri, 30 Oct 2026 00:00:00 GMT</pubDate>
      <category>packetevents</category>
      <category>packets</category>
      <category>architecture</category>
      <category>minecraft</category>
    </item>
    <item>
      <title>Sliding windows for redstone, not a global off switch</title>
      <link>https://linsaftw.arkflame.com/posts/redstone-limiter-sliding-windows.html</link>
      <guid isPermaLink="true">https://linsaftw.arkflame.com/posts/redstone-limiter-sliding-windows.html</guid>
      <description>How RedstoneLimiter counts at four spatial scopes, why TPS scaling loosens caps on healthy servers, and why quarantine stays manual.</description>
      <pubDate>Fri, 30 Oct 2026 00:00:00 GMT</pubDate>
      <category>redstonelimiter</category>
      <category>minecraft</category>
      <category>performance</category>
      <category>folia</category>
    </item>
    <item>
      <title>VeloFlame&apos;s limbo takeover is an event-loop contract</title>
      <link>https://linsaftw.arkflame.com/posts/velocity-limbo-takeover-design.html</link>
      <guid isPermaLink="true">https://linsaftw.arkflame.com/posts/velocity-limbo-takeover-design.html</guid>
      <description>How VeloFlame admits a login into limbo with a ticket and a bounded queue, and why frame limits and the transfer host belong to the same design.</description>
      <pubDate>Fri, 30 Oct 2026 00:00:00 GMT</pubDate>
      <category>veloflame</category>
      <category>limbo</category>
      <category>velocity</category>
      <category>concurrency</category>
    </item>
    <item>
      <title>The LinsaFTW persona: builder, operator, and infrastructure founder</title>
      <link>https://linsaftw.arkflame.com/posts/linsaftw-persona-builder-operator-infrastructure-founder.html</link>
      <guid isPermaLink="true">https://linsaftw.arkflame.com/posts/linsaftw-persona-builder-operator-infrastructure-founder.html</guid>
      <description>A direct analysis of the public LinsaFTW identity and why it fits Minecraft infrastructure work.</description>
      <pubDate>Wed, 01 Jul 2026 00:00:00 GMT</pubDate>
      <category>linsaftw</category>
      <category>persona</category>
      <category>arkflame</category>
    </item>
    <item>
      <title>Minecraft server security starts at the edge</title>
      <link>https://linsaftw.arkflame.com/posts/minecraft-server-security-starts-at-the-edge.html</link>
      <guid isPermaLink="true">https://linsaftw.arkflame.com/posts/minecraft-server-security-starts-at-the-edge.html</guid>
      <description>Why serious Minecraft networks should reject abusive traffic before it reaches expensive backend logic.</description>
      <pubDate>Tue, 30 Jun 2026 00:00:00 GMT</pubDate>
      <category>minecraft-security</category>
      <category>proxy</category>
      <category>exploit-protection</category>
    </item>
    <item>
      <title>Minecraft plugin compatibility is product quality</title>
      <link>https://linsaftw.arkflame.com/posts/minecraft-plugin-compatibility-is-product-quality.html</link>
      <guid isPermaLink="true">https://linsaftw.arkflame.com/posts/minecraft-plugin-compatibility-is-product-quality.html</guid>
      <description>Compatibility across Bukkit, Spigot, Paper, Folia, and Minecraft versions is not a bonus feature. It is part of the product.</description>
      <pubDate>Mon, 29 Jun 2026 00:00:00 GMT</pubDate>
      <category>bukkit</category>
      <category>paper</category>
      <category>folia</category>
    </item>
    <item>
      <title>Folia support is a threading discipline</title>
      <link>https://linsaftw.arkflame.com/posts/folia-support-is-a-threading-discipline.html</link>
      <guid isPermaLink="true">https://linsaftw.arkflame.com/posts/folia-support-is-a-threading-discipline.html</guid>
      <description>Real Folia support means choosing the correct scheduler by ownership, not adding one compatibility flag.</description>
      <pubDate>Sun, 28 Jun 2026 00:00:00 GMT</pubDate>
      <category>folia</category>
      <category>threading</category>
      <category>minecraft-plugins</category>
    </item>
    <item>
      <title>PacketEvents anticheat work needs proof, not vibes</title>
      <link>https://linsaftw.arkflame.com/posts/packetevents-anticheat-proof-over-vibes.html</link>
      <guid isPermaLink="true">https://linsaftw.arkflame.com/posts/packetevents-anticheat-proof-over-vibes.html</guid>
      <description>Why packet-level anticheat checks need exact geometry, timing, and state instead of broad assumptions.</description>
      <pubDate>Sat, 27 Jun 2026 00:00:00 GMT</pubDate>
      <category>packetevents</category>
      <category>anticheat</category>
      <category>fairplay</category>
    </item>
    <item>
      <title>Velocity, BungeeCord, and proxy trust boundaries</title>
      <link>https://linsaftw.arkflame.com/posts/velocity-bungeecord-and-proxy-trust-boundaries.html</link>
      <guid isPermaLink="true">https://linsaftw.arkflame.com/posts/velocity-bungeecord-and-proxy-trust-boundaries.html</guid>
      <description>How proxy trust boundaries shape authentication, forwarding, and backend protection in Minecraft networks.</description>
      <pubDate>Fri, 26 Jun 2026 00:00:00 GMT</pubDate>
      <category>velocity</category>
      <category>bungeecord</category>
      <category>proxy-security</category>
    </item>
    <item>
      <title>BuiltByBit creators need support operations, not only code</title>
      <link>https://linsaftw.arkflame.com/posts/builtbybit-creators-need-support-operations.html</link>
      <guid isPermaLink="true">https://linsaftw.arkflame.com/posts/builtbybit-creators-need-support-operations.html</guid>
      <description>Why marketplace success depends on docs, compatibility proof, updates, support, and clear product positioning.</description>
      <pubDate>Thu, 25 Jun 2026 00:00:00 GMT</pubDate>
      <category>builtbybit</category>
      <category>minecraft-products</category>
      <category>support</category>
    </item>
    <item>
      <title>ArkFlame is a product ecosystem for Minecraft infrastructure</title>
      <link>https://linsaftw.arkflame.com/posts/arkflame-product-ecosystem-for-minecraft-infrastructure.html</link>
      <guid isPermaLink="true">https://linsaftw.arkflame.com/posts/arkflame-product-ecosystem-for-minecraft-infrastructure.html</guid>
      <description>How FlameCord, ExploitFixer, VeloFlame, FlamePaper, FairPlay, and future tools fit one infrastructure direction.</description>
      <pubDate>Wed, 24 Jun 2026 00:00:00 GMT</pubDate>
      <category>arkflame</category>
      <category>minecraft-infrastructure</category>
      <category>products</category>
    </item>
    <item>
      <title>AI coding agents for Minecraft plugin development need strict handoffs</title>
      <link>https://linsaftw.arkflame.com/posts/ai-coding-agents-for-minecraft-plugin-development.html</link>
      <guid isPermaLink="true">https://linsaftw.arkflame.com/posts/ai-coding-agents-for-minecraft-plugin-development.html</guid>
      <description>Why coding agents work better when the planner defines exact files, APIs, commands, and verification gates.</description>
      <pubDate>Tue, 23 Jun 2026 00:00:00 GMT</pubDate>
      <category>ai-coding</category>
      <category>minecraft-plugins</category>
      <category>engineering-process</category>
    </item>
    <item>
      <title>Minecraft performance work is customer support</title>
      <link>https://linsaftw.arkflame.com/posts/minecraft-performance-work-is-customer-support.html</link>
      <guid isPermaLink="true">https://linsaftw.arkflame.com/posts/minecraft-performance-work-is-customer-support.html</guid>
      <description>Why reducing wasted CPU, memory pressure, and tick cost is one of the most direct ways to help server owners.</description>
      <pubDate>Mon, 22 Jun 2026 00:00:00 GMT</pubDate>
      <category>performance</category>
      <category>server-owners</category>
      <category>minecraft</category>
    </item>
    <item>
      <title>LinsaFTW: Minecraft infrastructure from Argentina</title>
      <link>https://linsaftw.arkflame.com/posts/linsaftw-minecraft-infrastructure-from-argentina.html</link>
      <guid isPermaLink="true">https://linsaftw.arkflame.com/posts/linsaftw-minecraft-infrastructure-from-argentina.html</guid>
      <description>A short overview of my path from Minecraft servers to ArkFlame, FlameCord, ExploitFixer, and infrastructure work.</description>
      <pubDate>Sun, 31 May 2026 00:00:00 GMT</pubDate>
      <category>linsaftw</category>
      <category>arkflame</category>
      <category>minecraft</category>
    </item>
    <item>
      <title>FlameCord and the proxy layer</title>
      <link>https://linsaftw.arkflame.com/posts/flamecord-and-the-proxy-layer.html</link>
      <guid isPermaLink="true">https://linsaftw.arkflame.com/posts/flamecord-and-the-proxy-layer.html</guid>
      <description>Why proxy security became one of the core parts of my work in the Minecraft server ecosystem.</description>
      <pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate>
      <category>flamecord</category>
      <category>security</category>
      <category>minecraft</category>
    </item>
    <item>
      <title>ExploitFixer and packet security</title>
      <link>https://linsaftw.arkflame.com/posts/exploitfixer-and-packet-security.html</link>
      <guid isPermaLink="true">https://linsaftw.arkflame.com/posts/exploitfixer-and-packet-security.html</guid>
      <description>A note on why server security needs to happen before bad packets become expensive server work.</description>
      <pubDate>Fri, 29 May 2026 00:00:00 GMT</pubDate>
      <category>exploitfixer</category>
      <category>packets</category>
      <category>security</category>
    </item>
    <item>
      <title>ArkFlame Studios as the main hub</title>
      <link>https://linsaftw.arkflame.com/posts/arkflame-studios-main-hub.html</link>
      <guid isPermaLink="true">https://linsaftw.arkflame.com/posts/arkflame-studios-main-hub.html</guid>
      <description>ArkFlame is moving toward one clearer public identity for security, performance, gameplay systems, and server infrastructure.</description>
      <pubDate>Thu, 28 May 2026 00:00:00 GMT</pubDate>
      <category>arkflame</category>
      <category>business</category>
      <category>online-presence</category>
    </item>
    <item>
      <title>AI-assisted coding still needs standards</title>
      <link>https://linsaftw.arkflame.com/posts/ai-assisted-coding-needs-standards.html</link>
      <guid isPermaLink="true">https://linsaftw.arkflame.com/posts/ai-assisted-coding-needs-standards.html</guid>
      <description>Using AI does not remove engineering responsibility. It makes specifications, tests, and review more important.</description>
      <pubDate>Wed, 27 May 2026 00:00:00 GMT</pubDate>
      <category>coding</category>
      <category>ai</category>
      <category>engineering</category>
    </item>
    <item>
      <title>Health issues can look like motivation problems</title>
      <link>https://linsaftw.arkflame.com/posts/developer-health-and-output.html</link>
      <guid isPermaLink="true">https://linsaftw.arkflame.com/posts/developer-health-and-output.html</guid>
      <description>A personal note on breathing, sleep, energy, and treating performance like an engineering problem.</description>
      <pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate>
      <category>personal</category>
      <category>health</category>
      <category>performance</category>
    </item>
  </channel>
</rss>
