<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <id>https://shinyq.my.id/en/feed.xml</id>
  <title>Articles by Kurniadi Ahmad Wijaya</title>
  <link rel="self" type="application/atom+xml" href="https://shinyq.my.id/en/feed.xml"/>
  <link rel="alternate" type="text/html" href="https://shinyq.my.id/en/library"/>
  <updated>2026-11-02T00:00:00Z</updated>
  <author><name>Kurniadi Ahmad Wijaya</name><uri>https://shinyq.my.id/en</uri></author>
  <entry>
    <id>https://shinyq.my.id/en/blog/ten-very-hard-benchmark-tasks-in-ten-days</id>
    <title>Ten Very Hard Benchmark Tasks in Ten Days</title>
    <link rel="alternate" type="text/html" href="https://shinyq.my.id/en/blog/ten-very-hard-benchmark-tasks-in-ten-days"/>
    <published>2026-11-02T00:00:00Z</published>
    <updated>2026-11-02T00:00:00Z</updated>
    <summary>First AI benchmark job: ten Indonesian tasks in ten days, half merged, most rated very hard, the top band. Over 300 ideas killed. The method, not the tasks.</summary>
    <category term="ai-benchmarks"/>
    <category term="llm-evaluation"/>
    <category term="ai-coding-agents"/>
    <category term="multi-agent-workflow"/>
    <category term="case-study"/>
  </entry>
  <entry>
    <id>https://shinyq.my.id/en/blog/aria-acs-to-livekit</id>
    <title>Moving ARIA From ACS to LiveKit</title>
    <link rel="alternate" type="text/html" href="https://shinyq.my.id/en/blog/aria-acs-to-livekit"/>
    <published>2026-10-27T00:00:00Z</published>
    <updated>2026-10-27T00:00:00Z</updated>
    <summary>ARIA moved from ACS to self-hosted LiveKit. A PoC drill measured 425 ms median hand-back over 20 rounds; no matched ACS-to-LiveKit speedup was measured.</summary>
    <category term="voice-ai"/>
    <category term="azure-openai-realtime"/>
    <category term="evaluation"/>
    <category term="case-study"/>
  </entry>
  <entry>
    <id>https://shinyq.my.id/en/blog/untrusted-code-next-to-production-secrets</id>
    <title>Untrusted Code Next to Production Secrets</title>
    <link rel="alternate" type="text/html" href="https://shinyq.my.id/en/blog/untrusted-code-next-to-production-secrets"/>
    <published>2026-10-24T00:00:00Z</published>
    <updated>2026-10-24T00:00:00Z</updated>
    <summary>An audit showed a repository&apos;s code could run inside the API holding production secrets. Same-day stopgap, then isolated workers and a 9-minute outage.</summary>
    <category term="application-security"/>
    <category term="supply-chain-security"/>
    <category term="azure-container-apps"/>
    <category term="keda"/>
    <category term="case-study"/>
  </entry>
  <entry>
    <id>https://shinyq.my.id/en/blog/the-stall-that-was-never-in-the-query</id>
    <title>The Stall That Was Never in the Query</title>
    <link rel="alternate" type="text/html" href="https://shinyq.my.id/en/blog/the-stall-that-was-never-in-the-query"/>
    <published>2026-10-24T00:00:00Z</published>
    <updated>2026-10-24T00:00:00Z</updated>
    <summary>A Fabric dashboard took ~21 s per request, static files included. A zero-row probe showed capacity throttling, not query cost. I had blamed indexes first.</summary>
    <category term="microsoft-fabric"/>
    <category term="performance"/>
    <category term="graphql"/>
    <category term="capacity-planning"/>
    <category term="case-study"/>
  </entry>
  <entry>
    <id>https://shinyq.my.id/en/blog/the-lock-that-protected-the-install-also-blocked-the-app</id>
    <title>The Install Lock That Also Blocked the App</title>
    <link rel="alternate" type="text/html" href="https://shinyq.my.id/en/blog/the-lock-that-protected-the-install-also-blocked-the-app"/>
    <published>2026-10-24T00:00:00Z</published>
    <updated>2026-10-24T00:00:00Z</updated>
    <summary>In the first managed application test installs, every AI call failed with correct roles. The lock blocked the app&apos;s own identities. 36 defects followed.</summary>
    <category term="azure-managed-applications"/>
    <category term="azure-marketplace"/>
    <category term="cloud-security"/>
    <category term="deployment"/>
    <category term="case-study"/>
  </entry>
  <entry>
    <id>https://shinyq.my.id/en/blog/clearbox-inbox-cleanup-with-microsoft-decision-1</id>
    <title>Clearbox: Triage with Microsoft-Decision-1</title>
    <link rel="alternate" type="text/html" href="https://shinyq.my.id/en/blog/clearbox-inbox-cleanup-with-microsoft-decision-1"/>
    <published>2026-10-16T00:00:00Z</published>
    <updated>2026-10-16T00:00:00Z</updated>
    <summary>Clearbox pre-sorts Gmail and Outlook email for approval, using Microsoft-Decision-1 and guardrails. The evaluation covered 40 synthetic emails, not an inbox.</summary>
    <category term="microsoft-decision-1"/>
    <category term="microsoft-foundry"/>
    <category term="cloudflare-workers"/>
    <category term="evaluation"/>
    <category term="case-study"/>
  </entry>
  <entry>
    <id>https://shinyq.my.id/en/blog/making-a-voice-agent-interruptible</id>
    <title>Making a Voice Agent Interruptible</title>
    <link rel="alternate" type="text/html" href="https://shinyq.my.id/en/blog/making-a-voice-agent-interruptible"/>
    <published>2026-10-09T00:00:00Z</published>
    <updated>2026-10-09T00:00:00Z</updated>
    <summary>Voice-agent barge-in reached ~0.2 s in a controlled knowledge-search harness, n=4 calls per arm. Later live cut-off tests showed no improvement.</summary>
    <category term="voice-ai"/>
    <category term="azure-openai-realtime"/>
    <category term="latency"/>
    <category term="evaluation"/>
    <category term="case-study"/>
  </entry>
  <entry>
    <id>https://shinyq.my.id/en/blog/why-the-better-fraud-engine-shipped-in-shadow-mode</id>
    <title>Why the Fraud Engine Stayed in Shadow Mode</title>
    <link rel="alternate" type="text/html" href="https://shinyq.my.id/en/blog/why-the-better-fraud-engine-shipped-in-shadow-mode"/>
    <published>2026-10-09T00:00:00Z</published>
    <updated>2026-10-09T00:00:00Z</updated>
    <summary>In offline tests on the noisy-clean development slice, FPR fell 36.4% to 9.1%, but High-risk recall fell. The engine shipped only in shadow mode.</summary>
    <category term="llm-evaluation"/>
    <category term="shadow-mode"/>
    <category term="fraud-detection"/>
    <category term="azure-openai"/>
    <category term="case-study"/>
  </entry>
  <entry>
    <id>https://shinyq.my.id/en/blog/45-percent-of-our-llm-calls-failed</id>
    <title>Why 45% of a CV Screening Batch Failed</title>
    <link rel="alternate" type="text/html" href="https://shinyq.my.id/en/blog/45-percent-of-our-llm-calls-failed"/>
    <published>2026-10-09T00:00:00Z</published>
    <updated>2026-10-09T00:00:00Z</updated>
    <summary>About 45% of 22 CV/job pairs failed. Two parsing bugs were fixed with seven regression tests, but no rerun of the original batch was recorded.</summary>
    <category term="llm-reliability"/>
    <category term="structured-output"/>
    <category term="azure-openai"/>
    <category term="testing"/>
    <category term="case-study"/>
  </entry>
  <entry>
    <id>https://shinyq.my.id/en/blog/spec-driven-development-with-ai-coding-agents</id>
    <title>Spec-Driven Development with AI Coding Agents</title>
    <link rel="alternate" type="text/html" href="https://shinyq.my.id/en/blog/spec-driven-development-with-ai-coding-agents"/>
    <published>2026-10-09T00:00:00Z</published>
    <updated>2026-10-09T00:00:00Z</updated>
    <summary>AI agents wrote most of a solo-built vendor portal. CI missed a skipped integration tier and two sign-in bugs. Productivity gains were not measured.</summary>
    <category term="spec-driven-development"/>
    <category term="ai-coding-agents"/>
    <category term="github-spec-kit"/>
    <category term="code-review"/>
    <category term="case-study"/>
  </entry>
</feed>
