Konrad Kowalski (rootsher)Principal Platform & Reliability Architect010111000100011110001011100101110100101111001000

Blog - Konrad Kowalski (rootsher)

posts (112)

  1. CPU in Kubernetes from the kernel up1/12

    How Linux really gives a process CPU

    A process does not "have CPU". It is ready to run, and the scheduler decides when it actually gets processor time.

  2. series · 12 parts

    CPU in Kubernetes from the kernel up

    A CPU model built bottom-up: from runnable tasks and the scheduler, through cgroups, requests and limits, to throttling, contention, PSI and diagnostics.

  3. Part I: From Prompts to Agentic SDLC6/9

    Dynamic Workflows: stop assuming the LLM will remember the whole workflow

    The sixth upgrade moves the order of steps from model memory into an executable workflow that tracks stages, conditions, loops and verification.

  4. Recovery from the Ground Up: Rollback, PITR, and Returning After Failure4/5

    PITR for One Tenant: Restoring One Database

    A simple PITR example in a multi-tenant system: one tenant has one database, so we restore only that database instead of rolling back the whole production…

  5. The Layers of HTTP in the Browser: From fetch() to QUIC5/9

    Connections: Why One fetch() Does Not Mean One Connection

    A request and a connection have different lifecycles. The connection pool belongs to the browser, and the frontend influences it only through the architecture…

  6. Part I: From Prompts to Agentic SDLC5/9

    Subagents: stop putting all the work into one context

    The fifth upgrade splits large work into separate contexts so implementation, review, testing and research do not mix inside one long session.

  7. Part I: From Prompts to Agentic SDLC4/9

    Skills, Hooks and Permissions: write down the method, automate mechanics, reduce risk

    The fourth upgrade separates three things: the way of working written as a skill, mechanical steps performed by hooks and risks constrained by permissions.

  8. Testing Through Layers: From Code to Infrastructure7/9

    Migration Tests and Data Tests: Safe State Changes

    A migration test checks schema and data changes, while a data test protects state compatibility. This layer decides whether a release can be rolled back safely.

  9. The Layers of HTTP in the Browser: From fetch() to QUIC4/9

    The Browser Does Not Give JavaScript Full Control over HTTP

    fetch() is not a raw socket. Cookies, the cache, preflight and some headers belong to the browser, so one operation in code does not equal one request on the…

  10. Part I: From Prompts to Agentic SDLC3/9

    Retrieval, RAG and MCP: stop being the API between Claude and the rest of the SDLC

    The third upgrade is that Claude stops waiting for you to manually paste logs, issues, documentation or CI state, and starts getting the needed context itself.