<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>Oleksandr Khomenko</title>
  <subtitle>Essays on software engineering, AI-enabled development, product architecture, systems thinking, and endurance running.</subtitle>
  <link href="https://olekk.com/feed.xml" rel="self"/>
  <link href="https://olekk.com/"/>
  <id>https://olekk.com/</id>
  <updated>2026-05-13T00:00:00Z</updated>
  <entry>
    <title>Remote dev boxes need secret brokers, not copied env files</title>
    <link href="https://olekk.com/posts/remote-dev-boxes-need-secret-brokers.html"/>
    <id>https://olekk.com/posts/remote-dev-boxes-need-secret-brokers.html</id>
    <published>2026-05-13T00:00:00Z</published>
    <updated>2026-05-13T00:00:00Z</updated>
    <summary>The rule I use for remote development secrets: keep the vault on the laptop and hand the remote only scoped runtime leases.</summary>
  </entry>
  <entry>
    <title>Travel is not rest</title>
    <link href="https://olekk.com/posts/travel-is-not-rest.html"/>
    <id>https://olekk.com/posts/travel-is-not-rest.html</id>
    <published>2026-05-12T00:00:00Z</published>
    <updated>2026-05-12T00:00:00Z</updated>
    <summary>What my wife and I learned when a beautiful two-week trip became too much logistics, movement, and stimulation to feel like recovery.</summary>
  </entry>
  <entry>
    <title>Git worktrees expose the real cost structure of JavaScript repositories</title>
    <link href="https://olekk.com/posts/git-worktrees-node-modules.html"/>
    <id>https://olekk.com/posts/git-worktrees-node-modules.html</id>
    <published>2026-05-09T00:00:00Z</published>
    <updated>2026-05-09T00:00:00Z</updated>
    <summary>The rule I use with worktrees: isolate working directories, share immutable caches, and keep each branch honest.</summary>
  </entry>
  <entry>
    <title>Agent APIs need an intent layer</title>
    <link href="https://olekk.com/posts/agents-apis-and-product-signal.html"/>
    <id>https://olekk.com/posts/agents-apis-and-product-signal.html</id>
    <published>2026-04-12T00:00:00Z</published>
    <updated>2026-04-12T00:00:00Z</updated>
    <summary>The rule I use for agent-facing APIs: log the user goal before the agent turns it into a clean tool call.</summary>
  </entry>
  <entry>
    <title>Agents do not want your CRUD APIs</title>
    <link href="https://olekk.com/posts/agents-do-not-want-your-crud-apis.html"/>
    <id>https://olekk.com/posts/agents-do-not-want-your-crud-apis.html</id>
    <published>2026-03-18T00:00:00Z</published>
    <updated>2026-03-18T00:00:00Z</updated>
    <summary>The agent-ready test I use for SaaS APIs: expose useful product capabilities, not remote access to internal objects.</summary>
  </entry>
  <entry>
    <title>AI coding agents need identity boundaries</title>
    <link href="https://olekk.com/posts/separate-unix-users-agentic-development.html"/>
    <id>https://olekk.com/posts/separate-unix-users-agentic-development.html</id>
    <published>2026-02-12T00:00:00Z</published>
    <updated>2026-02-12T00:00:00Z</updated>
    <summary>The rule I use for local AI agents: split Unix accounts when credentials, identity, cloud access, or risk level differ.</summary>
  </entry>
  <entry>
    <title>Frictionless remote access to a home Linux workstation</title>
    <link href="https://olekk.com/posts/frictionless-remote-access-home-linux-workstation.html"/>
    <id>https://olekk.com/posts/frictionless-remote-access-home-linux-workstation.html</id>
    <published>2025-12-22T00:00:00Z</published>
    <updated>2025-12-22T00:00:00Z</updated>
    <summary>The setup I want for a home Linux workstation: private access that makes SSH feel cheap without exposing a public port.</summary>
  </entry>
  <entry>
    <title>Architecture is the cost structure of change</title>
    <link href="https://olekk.com/posts/architecture-is-the-cost-structure-of-change.html"/>
    <id>https://olekk.com/posts/architecture-is-the-cost-structure-of-change.html</id>
    <published>2025-11-18T00:00:00Z</published>
    <updated>2025-11-18T00:00:00Z</updated>
    <summary>The way I judge architecture: does it make the next valuable change cheaper to understand, test, review, and recover from?</summary>
  </entry>
  <entry>
    <title>AI made code cheap. It did not make merge decisions cheap</title>
    <link href="https://olekk.com/posts/ai-made-code-cheap.html"/>
    <id>https://olekk.com/posts/ai-made-code-cheap.html</id>
    <published>2025-11-06T00:00:00Z</published>
    <updated>2025-11-06T00:00:00Z</updated>
    <summary>The rule I use for AI-heavy development: make generation cheap, but make new obligations intentional.</summary>
  </entry>
  <entry>
    <title>My first 100K at Canyons</title>
    <link href="https://olekk.com/posts/first-100k-canyons-endurance-runs.html"/>
    <id>https://olekk.com/posts/first-100k-canyons-endurance-runs.html</id>
    <published>2025-04-26T00:00:00Z</published>
    <updated>2025-04-26T00:00:00Z</updated>
    <summary>I thought the early miles were free. The mountain collected interest: blown quads, slower movement, and patience as a racing strategy.</summary>
  </entry>
  <entry>
    <title>Encryption keys are product boundaries</title>
    <link href="https://olekk.com/posts/encryption-keys-are-product-boundaries.html"/>
    <id>https://olekk.com/posts/encryption-keys-are-product-boundaries.html</id>
    <published>2024-11-12T00:00:00Z</published>
    <updated>2024-11-12T00:00:00Z</updated>
    <summary>How I think about key design in multi-tenant SaaS: customer keys should model authority, jurisdiction, deletion, and enterprise trust.</summary>
  </entry>
  <entry>
    <title>Growth engineering is the business of reducing the cost of learning</title>
    <link href="https://olekk.com/posts/growth-engineering-cost-of-learning.html"/>
    <id>https://olekk.com/posts/growth-engineering-cost-of-learning.html</id>
    <published>2024-10-17T00:00:00Z</published>
    <updated>2024-10-17T00:00:00Z</updated>
    <summary>The way I judge growth engineering: does the work make the next product question cheaper, safer, and easier to trust?</summary>
  </entry>
</feed>
