<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>DavidHLPL · RHINE LAB</title><description>DavidHLPL&apos;s personal AI knowledge base, using LLMs to organize traceable technical and engineering knowledge.</description><link>https://davidhlp.github.io</link><language>en</language><item><title>chronicle.yaml</title><link>https://davidhlp.github.io/blog/legacy/information/en/chronicle/?lang=en</link><guid isPermaLink="true">https://davidhlp.github.io/blog/legacy/information/en/chronicle/?lang=en</guid><description>chronicle.yaml · src/content/information/en/chronicle.yaml</description><pubDate>Mon, 05 Oct 2026 05:34:00 GMT</pubDate><category>en</category><category>information</category></item><item><title>Helian Peng (David)</title><link>https://davidhlp.github.io/blog/legacy/information/en/introduction/?lang=en</link><guid isPermaLink="true">https://davidhlp.github.io/blog/legacy/information/en/introduction/?lang=en</guid><description>Helian Peng (David) · src/content/information/en/introduction.md</description><pubDate>Mon, 05 Oct 2026 05:34:00 GMT</pubDate><category>en</category><category>information</category></item><item><title>Knowledge Base Index</title><link>https://davidhlp.github.io/blog/legacy/information/en/kb-index/?lang=en</link><guid isPermaLink="true">https://davidhlp.github.io/blog/legacy/information/en/kb-index/?lang=en</guid><description>Knowledge Base Index · src/content/information/en/kb-index.md</description><pubDate>Mon, 05 Oct 2026 05:34:00 GMT</pubDate><category>en</category><category>information</category></item><item><title>Knowledge Base Operation Log</title><link>https://davidhlp.github.io/blog/legacy/information/en/kb-log/?lang=en</link><guid isPermaLink="true">https://davidhlp.github.io/blog/legacy/information/en/kb-log/?lang=en</guid><description>Knowledge Base Operation Log · src/content/information/en/kb-log.md</description><pubDate>Mon, 05 Oct 2026 05:34:00 GMT</pubDate><category>en</category><category>information</category></item><item><title>linkroll.mdx</title><link>https://davidhlp.github.io/blog/legacy/information/en/linkroll/?lang=en</link><guid isPermaLink="true">https://davidhlp.github.io/blog/legacy/information/en/linkroll/?lang=en</guid><description>linkroll.mdx · src/content/information/en/linkroll.mdx</description><pubDate>Mon, 05 Oct 2026 05:34:00 GMT</pubDate><category>en</category><category>information</category></item><item><title>Privacy Policy</title><link>https://davidhlp.github.io/blog/legacy/information/en/policy/?lang=en</link><guid isPermaLink="true">https://davidhlp.github.io/blog/legacy/information/en/policy/?lang=en</guid><description>Privacy Policy · src/content/information/en/policy.md</description><pubDate>Mon, 05 Oct 2026 05:34:00 GMT</pubDate><category>en</category><category>information</category></item><item><title>Database Written-Test Review: From SQL Semantics to Batch Data Processing</title><link>https://davidhlp.github.io/blog/legacy/note/en/database-written-test-review/?lang=en</link><guid isPermaLink="true">https://davidhlp.github.io/blog/legacy/note/en/database-written-test-review/?lang=en</guid><description>A database written-test review as a verifiable chain of judgments: separate SQL semantics from dialects, handle NULLs, duplicates, and empty results, then bring Kettle and very large table operations down to sharding, recovery, reconciliation, and risk control.</description><pubDate>Sat, 12 Sep 2026 16:00:00 GMT</pubDate><category>数据库</category><category>SQL</category><category>Oracle</category><category>MySQL</category><category>Spark SQL</category><category>Kettle</category><category>ETL</category><category>笔试复盘</category><category>en</category><category>note</category></item><item><title>Why Async Early Expiration Only Shortens TTL: Version CAS Makes Stale Jobs Harmless</title><link>https://davidhlp.github.io/blog/legacy/note/en/resicache-early-expiration-cas/?lang=en</link><guid isPermaLink="true">https://davidhlp.github.io/blog/legacy/note/en/resicache-early-expiration-cas/?lang=en</guid><description>How ResiCache uses cache-value versions, Redis Lua CAS, and the normal miss path to prevent an old asynchronous job from modifying a newer cache value.</description><pubDate>Tue, 08 Sep 2026 16:00:00 GMT</pubDate><category>ResiCache</category><category>Redis</category><category>EarlyExpiration</category><category>CAS</category><category>Concurrency</category><category>en</category><category>note</category></item><item><title>ResiCache&apos;s Cache Responsibility Chain: Control Flow, Nested Fragments, and Observer Lifecycles</title><link>https://davidhlp.github.io/blog/legacy/note/en/resicache-handler-chain-and-observer/?lang=en</link><guid isPermaLink="true">https://davidhlp.github.io/blog/legacy/note/en/resicache-handler-chain-and-observer/?lang=en</guid><description>How ResiCache&apos;s current line uses HandlerResult, handler snapshots, in-lock fragments, and observer scope tokens to preserve control-flow and lifecycle boundaries in a cache responsibility chain.</description><pubDate>Tue, 08 Sep 2026 16:00:00 GMT</pubDate><category>ResiCache</category><category>Java</category><category>ChainOfResponsibility</category><category>Observer</category><category>ThreadLocal</category><category>Concurrency</category><category>en</category><category>note</category></item><item><title>Replacing a Redis Serializer Is Not a One-Line Configuration Change: Object Trust and Rollback-Safe Migration</title><link>https://davidhlp.github.io/blog/legacy/note/en/resicache-serialization-migration/?lang=en</link><guid isPermaLink="true">https://davidhlp.github.io/blog/legacy/note/en/resicache-serialization-migration/?lang=en</guid><description>Why wire format, type trust, and migration of existing data must be designed together, based on ResiCache&apos;s secure deserialization and migration engine.</description><pubDate>Tue, 08 Sep 2026 16:00:00 GMT</pubDate><category>ResiCache</category><category>Redis</category><category>Serialization</category><category>Security</category><category>Migration</category><category>en</category><category>note</category></item><item><title>Why Cache Stampedes Need a Future, a Distributed Lock, and a Double-Check</title><link>https://davidhlp.github.io/blog/legacy/note/en/resicache-single-flight/?lang=en</link><guid isPermaLink="true">https://davidhlp.github.io/blog/legacy/note/en/resicache-single-flight/?lang=en</guid><description>What single-flight, distributed locking, double-checking, and failure-result modeling each solve in ResiCache&apos;s load path—and what they cannot guarantee.</description><pubDate>Tue, 08 Sep 2026 16:00:00 GMT</pubDate><category>ResiCache</category><category>Redis</category><category>SingleFlight</category><category>Concurrency</category><category>DistributedLock</category><category>en</category><category>note</category></item><item><title>ResiCache: Verifiable Concurrency and Consistency Boundaries for Cache Protection</title><link>https://davidhlp.github.io/blog/legacy/note/en/resicache/?lang=en</link><guid isPermaLink="true">https://davidhlp.github.io/blog/legacy/note/en/resicache/?lang=en</guid><description>Examines five designs in pinned source and boundary tests: responsibility chains, single-flight, versioned early expiration, whitelist serialization, and observer lifecycles, while separating repository evidence from production performance claims.</description><pubDate>Tue, 08 Sep 2026 16:00:00 GMT</pubDate><category>ResiCache</category><category>SpringCache</category><category>Redis</category><category>Concurrency</category><category>SingleFlight</category><category>Serialization</category><category>CAS</category><category>EarlyExpiration</category><category>LLM</category><category>en</category><category>note</category></item><item><title>UltiCode Async Execution Contract: Idempotency, Fingerprints, and Bounded Receipts</title><link>https://davidhlp.github.io/blog/legacy/note/en/ulticode-async-execution-contract/?lang=en</link><guid isPermaLink="true">https://davidhlp.github.io/blog/legacy/note/en/ulticode-async-execution-contract/?lang=en</guid><description>How UltiCode lets synchronous previews and asynchronous execution share a contract, using idempotency keys, SHA-256 fingerprints, a state machine, and memory limits to constrain long-running jobs.</description><pubDate>Tue, 08 Sep 2026 16:00:00 GMT</pubDate><category>UltiCode</category><category>OnlineJudge</category><category>Async</category><category>Idempotency</category><category>Fingerprint</category><category>StateMachine</category><category>Judge0</category><category>LLM</category><category>en</category><category>note</category></item><item><title>UltiCode Verification and Supply-Chain Gates: From Static Contracts to Verifiable Releases</title><link>https://davidhlp.github.io/blog/legacy/note/en/ulticode-ci-supply-chain/?lang=en</link><guid isPermaLink="true">https://davidhlp.github.io/blog/legacy/note/en/ulticode-ci-supply-chain/?lang=en</guid><description>How UltiCode organizes zero-infra static contracts, layered verification, Trivy, SBOM, provenance, and Cosign into traceable delivery gates.</description><pubDate>Tue, 08 Sep 2026 16:00:00 GMT</pubDate><category>UltiCode</category><category>CI</category><category>StaticCheck</category><category>IntegrationTest</category><category>Trivy</category><category>SBOM</category><category>Cosign</category><category>Provenance</category><category>LLM</category><category>en</category><category>note</category></item><item><title>Treat a Modular Monolith as a Testbed: UltiCode Core&apos;s Allowlist, Timeouts, and Close-Once Lifecycle</title><link>https://davidhlp.github.io/blog/legacy/note/en/ulticode-core-bounded-testbed/?lang=en</link><guid isPermaLink="true">https://davidhlp.github.io/blog/legacy/note/en/ulticode-core-bounded-testbed/?lang=en</guid><description>How UltiCode Core&apos;s owner-context manager uses opt-in, an allowlist, bounded startup, and close-once handoff to keep a modular monolith a reversible topology testbed.</description><pubDate>Tue, 08 Sep 2026 16:00:00 GMT</pubDate><category>UltiCode</category><category>ModularMonolith</category><category>Lifecycle</category><category>ClassLoader</category><category>Allowlist</category><category>FailClosed</category><category>Testing</category><category>LLM</category><category>en</category><category>note</category></item><item><title>UltiCode Docker Sandbox: Resource Isolation and Infrastructure Error Classification</title><link>https://davidhlp.github.io/blog/legacy/note/en/ulticode-docker-sandbox/?lang=en</link><guid isPermaLink="true">https://davidhlp.github.io/blog/legacy/note/en/ulticode-docker-sandbox/?lang=en</guid><description>What UltiCode&apos;s D-form execution path says about Docker resource and security parameters, fail-closed seccomp handling, and the distinction between user and infrastructure errors.</description><pubDate>Tue, 08 Sep 2026 16:00:00 GMT</pubDate><category>UltiCode</category><category>OnlineJudge</category><category>Docker</category><category>Seccomp</category><category>Sandbox</category><category>ResourceLimit</category><category>ErrorHandling</category><category>LLM</category><category>en</category><category>note</category></item><item><title>A Database Lease Is Not Enough: UltiCode Uses Fence Tokens to Stop Stale Singleton Jobs</title><link>https://davidhlp.github.io/blog/legacy/note/en/ulticode-fenced-singleton-lease/?lang=en</link><guid isPermaLink="true">https://davidhlp.github.io/blog/legacy/note/en/ulticode-fenced-singleton-lease/?lang=en</guid><description>Why an expiry time alone is insufficient, and how UltiCode&apos;s fenced_job_leases and reconciliation-run writes invalidate an old executor at the database boundary.</description><pubDate>Tue, 08 Sep 2026 16:00:00 GMT</pubDate><category>UltiCode</category><category>FencedLease</category><category>DistributedLock</category><category>Reconciliation</category><category>CAS</category><category>MySQL</category><category>Concurrency</category><category>LLM</category><category>en</category><category>note</category></item><item><title>UltiCode Generation and attemptId: Fencing Stale Judging Results with Conditional Updates</title><link>https://davidhlp.github.io/blog/legacy/note/en/ulticode-generation-attempt-fence/?lang=en</link><guid isPermaLink="true">https://davidhlp.github.io/blog/legacy/note/en/ulticode-generation-attempt-fence/?lang=en</guid><description>How UltiCode uses generations, attemptIds, leases, and conditional updates to stop rejudges, timeouts, or old workers from overwriting newer state.</description><pubDate>Tue, 08 Sep 2026 16:00:00 GMT</pubDate><category>UltiCode</category><category>OnlineJudge</category><category>Generation</category><category>AttemptId</category><category>Lease</category><category>CAS</category><category>Concurrency</category><category>LLM</category><category>en</category><category>note</category></item><item><title>UltiCode Outbox and Redis Streams: Making Judge Delivery Recoverable</title><link>https://davidhlp.github.io/blog/legacy/note/en/ulticode-outbox-redis-streams/?lang=en</link><guid isPermaLink="true">https://davidhlp.github.io/blog/legacy/note/en/ulticode-outbox-redis-streams/?lang=en</guid><description>How UltiCode uses a database outbox, atomic Redis Streams delivery, retries/dead letters, and PEL recovery to turn a judging message into recoverable state.</description><pubDate>Tue, 08 Sep 2026 16:00:00 GMT</pubDate><category>UltiCode</category><category>OnlineJudge</category><category>Outbox</category><category>RedisStreams</category><category>Retry</category><category>DeadLetter</category><category>Idempotency</category><category>LLM</category><category>en</category><category>note</category></item><item><title>UltiCode Data Owners and Fact Snapshots: Keeping Cross-Service Submissions Bounded</title><link>https://davidhlp.github.io/blog/legacy/note/en/ulticode-owner-and-facts/?lang=en</link><guid isPermaLink="true">https://davidhlp.github.io/blog/legacy/note/en/ulticode-owner-and-facts/?lang=en</guid><description>How UltiCode&apos;s owner boundaries and SubmissionFactsSnapshot turn the source, capture time, and schema version of cross-service facts into an explicit contract.</description><pubDate>Tue, 08 Sep 2026 16:00:00 GMT</pubDate><category>UltiCode</category><category>OnlineJudge</category><category>DataOwner</category><category>Contract</category><category>Port</category><category>Projection</category><category>Snapshot</category><category>LLM</category><category>en</category><category>note</category></item><item><title>Do Not Audit Across Owners by Writing Across Databases: UltiCode&apos;s Local Outbox and Consumer Inbox</title><link>https://davidhlp.github.io/blog/legacy/note/en/ulticode-owner-local-audit-inbox/?lang=en</link><guid isPermaLink="true">https://davidhlp.github.io/blog/legacy/note/en/ulticode-owner-local-audit-inbox/?lang=en</guid><description>How Auth/App local audit outboxes, owner-specific Redis Streams, and an Admin consumer inbox handle double writes, duplicate delivery, lease recovery, and eventual consistency across owners.</description><pubDate>Tue, 08 Sep 2026 16:00:00 GMT</pubDate><category>UltiCode</category><category>Audit</category><category>DataOwner</category><category>Outbox</category><category>Inbox</category><category>RedisStreams</category><category>EventualConsistency</category><category>Idempotency</category><category>LLM</category><category>en</category><category>note</category></item><item><title>UltiCode: Verifiable Boundaries for Online Judging and Agent Engineering</title><link>https://davidhlp.github.io/blog/legacy/note/en/ulticode/?lang=en</link><guid isPermaLink="true">https://davidhlp.github.io/blog/legacy/note/en/ulticode/?lang=en</guid><description>A source-based study of owner boundaries, snapshots, recoverable delivery, result fencing, Docker isolation, asynchronous contracts, and supply-chain gates, with explicit evidence limits.</description><pubDate>Tue, 08 Sep 2026 16:00:00 GMT</pubDate><category>UltiCode</category><category>OnlineJudge</category><category>DDD</category><category>Port</category><category>Projection</category><category>Outbox</category><category>RedisStreams</category><category>Docker</category><category>Seccomp</category><category>CI</category><category>LLM</category><category>en</category><category>note</category></item><item><title>Hindsight Local Compute Allocation and Dockerized Deployment</title><link>https://davidhlp.github.io/blog/legacy/note/en/hindsight-local-deployment/?lang=en</link><guid isPermaLink="true">https://davidhlp.github.io/blog/legacy/note/en/hindsight-local-deployment/?lang=en</guid><description>Documents the local compute split for the Vectorize Hindsight memory hub (AMD GPU inference plus CPU embedding), the UID 1000 permission model, and Docker Compose container orchestration.</description><pubDate>Sat, 22 Aug 2026 16:00:00 GMT</pubDate><category>Hindsight</category><category>Docker</category><category>Ollama</category><category>ROCm</category><category>BGE-M3</category><category>Architecture</category><category>en</category><category>note</category></item><item><title>Hindsight Unified Memory Access: FastMCP Bridge and Dynamic Multi-Project Routing</title><link>https://davidhlp.github.io/blog/legacy/note/en/hindsight-omp-codex-integration/?lang=en</link><guid isPermaLink="true">https://davidhlp.github.io/blog/legacy/note/en/hindsight-omp-codex-integration/?lang=en</guid><description>Explains the FastMCP stdio bridge state machine, Git-root-adaptive dynamic Bank routing, and dual-client configuration used to give OMP and Codex unified access to Hindsight memory.</description><pubDate>Sat, 22 Aug 2026 16:00:00 GMT</pubDate><category>Hindsight</category><category>OMP</category><category>Codex</category><category>FastMCP</category><category>MCP</category><category>DynamicRouting</category><category>en</category><category>note</category></item><item><title>Hindsight Runtime Troubleshooting Matrix and Failure Modes</title><link>https://davidhlp.github.io/blog/legacy/note/en/hindsight-troubleshooting/?lang=en</link><guid isPermaLink="true">https://davidhlp.github.io/blog/legacy/note/en/hindsight-troubleshooting/?lang=en</guid><description>Summarizes seven typical failure modes in Hindsight local deployment and Agent integration (wrong package, permissions, timeout, routing, lost Session, and workspace drift) with a troubleshooting matrix.</description><pubDate>Sat, 22 Aug 2026 16:00:00 GMT</pubDate><category>Hindsight</category><category>Troubleshooting</category><category>Docker</category><category>Permissions</category><category>FastMCP</category><category>Ollama</category><category>en</category><category>note</category></item><item><title>Docker Fundamentals: Image Layers, Container Operations, and Compose Networking</title><link>https://davidhlp.github.io/blog/legacy/note/en/docker-fundamentals/?lang=en</link><guid isPermaLink="true">https://davidhlp.github.io/blog/legacy/note/en/docker-fundamentals/?lang=en</guid><description>Distills Docker image layers, common commands, volumes, networking, and Compose suitability and boundaries.</description><pubDate>Thu, 20 Aug 2026 16:00:00 GMT</pubDate><category>Docker</category><category>Container</category><category>Compose</category><category>Image</category><category>Volume</category><category>Network</category><category>en</category><category>note</category></item><item><title>Frontend and Miscellaneous Essays: Vue, MyBatis, UniApp, Cache Annotations, and Environment Troubleshooting (archived)</title><link>https://davidhlp.github.io/blog/legacy/note/en/frontend-mybatis-essays/?lang=en</link><guid isPermaLink="true">https://davidhlp.github.io/blog/legacy/note/en/frontend-mybatis-essays/?lang=en</guid><description>Archived collection of frontend, MyBatis and environment troubleshooting notes. Original evidence remains in immutable raw snapshots.</description><pubDate>Thu, 20 Aug 2026 16:00:00 GMT</pubDate><category>Vue</category><category>MyBatis</category><category>UniApp</category><category>Cache</category><category>Essay</category><category>en</category><category>note</category></item><item><title>HBase Fundamentals, Architecture, and Operations: Data Model, Table Design, Shell, and Java API</title><link>https://davidhlp.github.io/blog/legacy/note/en/hbase-foundation-and-ops/?lang=en</link><guid isPermaLink="true">https://davidhlp.github.io/blog/legacy/note/en/hbase-foundation-and-ops/?lang=en</guid><description>Converges logical/physical models, architecture, table design, and operational tooling; clarifies trade-offs vs RDBMS.</description><pubDate>Thu, 20 Aug 2026 16:00:00 GMT</pubDate><category>HBase</category><category>BigData</category><category>DataModel</category><category>Architecture</category><category>Shell</category><category>JavaAPI</category><category>en</category><category>note</category></item><item><title>Java Concurrency Deep Dive: JUC, CAS, Atomics, Locks, and Threading</title><link>https://davidhlp.github.io/blog/legacy/note/en/java-concurrency-deepdive/?lang=en</link><guid isPermaLink="true">https://davidhlp.github.io/blog/legacy/note/en/java-concurrency-deepdive/?lang=en</guid><description>Centers on CAS to connect atomics, locks, thread coordination, and reference types with cost boundaries.</description><pubDate>Thu, 20 Aug 2026 16:00:00 GMT</pubDate><category>Java</category><category>JUC</category><category>CAS</category><category>Concurrency</category><category>Lock</category><category>Thread</category><category>en</category><category>note</category></item><item><title>MySQL Storage Engines and Deadlock Detection</title><link>https://davidhlp.github.io/blog/legacy/note/en/mysql-storage-and-deadlock/?lang=en</link><guid isPermaLink="true">https://davidhlp.github.io/blog/legacy/note/en/mysql-storage-and-deadlock/?lang=en</guid><description>Distinguishes engine capabilities from deadlock log paths with minimal checks.</description><pubDate>Thu, 20 Aug 2026 16:00:00 GMT</pubDate><category>MySQL</category><category>StorageEngine</category><category>InnoDB</category><category>Deadlock</category><category>en</category><category>note</category></item><item><title>Redis Business Patterns: Caching, Distributed Locks, Message Queues, Feed Streams, and Flash Sales</title><link>https://davidhlp.github.io/blog/legacy/note/en/redis-business-patterns/?lang=en</link><guid isPermaLink="true">https://davidhlp.github.io/blog/legacy/note/en/redis-business-patterns/?lang=en</guid><description>Anchors on consistency, mutual exclusion, and messaging semantics to distill reusable business patterns.</description><pubDate>Thu, 20 Aug 2026 16:00:00 GMT</pubDate><category>Redis</category><category>Cache</category><category>DistributedLock</category><category>MessageQueue</category><category>Feed</category><category>Seckill</category><category>en</category><category>note</category></item><item><title>Redis Heima Practice: Distributed Cache, Multi-Level Cache, and Best Practices</title><link>https://davidhlp.github.io/blog/legacy/note/en/redis-heima-practice/?lang=en</link><guid isPermaLink="true">https://davidhlp.github.io/blog/legacy/note/en/redis-heima-practice/?lang=en</guid><description>Condenses 200+ pages of course material into a checklist, flagging version and experimental gaps.</description><pubDate>Thu, 20 Aug 2026 16:00:00 GMT</pubDate><category>Redis</category><category>Heima</category><category>DistributedCache</category><category>MultiLevelCache</category><category>BestPractice</category><category>en</category><category>note</category></item><item><title>Redis Persistence and Internals: RDB/AOF, Data Structures, and Advanced Mechanisms</title><link>https://davidhlp.github.io/blog/legacy/note/en/redis-persistence-principle/?lang=en</link><guid isPermaLink="true">https://davidhlp.github.io/blog/legacy/note/en/redis-persistence-principle/?lang=en</guid><description>Distinguishes snapshot vs append-only recovery and performance boundaries.</description><pubDate>Thu, 20 Aug 2026 16:00:00 GMT</pubDate><category>Redis</category><category>Persistence</category><category>RDB</category><category>AOF</category><category>DataStructure</category><category>Principle</category><category>en</category><category>note</category></item><item><title>Spark and Big Data Ecosystem: Hadoop, HBase, Spark Runtime Modes, and Clusters</title><link>https://davidhlp.github.io/blog/legacy/note/en/spark-bigdata-ecosystem/?lang=en</link><guid isPermaLink="true">https://davidhlp.github.io/blog/legacy/note/en/spark-bigdata-ecosystem/?lang=en</guid><description>Compares batch/stream engines and Spark runtime modes.</description><pubDate>Thu, 20 Aug 2026 16:00:00 GMT</pubDate><category>Spark</category><category>Hadoop</category><category>BigData</category><category>HBase</category><category>Cluster</category><category>en</category><category>note</category></item><item><title>Spring Boot and Spring Cloud: Auto-Configuration, Transactions, Service Discovery, Gateway, and Observability</title><link>https://davidhlp.github.io/blog/legacy/note/en/spring-cloud-and-boot/?lang=en</link><guid isPermaLink="true">https://davidhlp.github.io/blog/legacy/note/en/spring-cloud-and-boot/?lang=en</guid><description>Anchors on service discovery to distill call-chain contracts.</description><pubDate>Thu, 20 Aug 2026 16:00:00 GMT</pubDate><category>SpringBoot</category><category>SpringCloud</category><category>Microservices</category><category>Gateway</category><category>Transaction</category><category>Observability</category><category>en</category><category>note</category></item><item><title>Hindsight Fully Local Deployment and Unified Memory Integration for OMP / Codex (archived)</title><link>https://davidhlp.github.io/blog/legacy/note/en/hindsight-local-deployment-and-agent-integration/?lang=en</link><guid isPermaLink="true">https://davidhlp.github.io/blog/legacy/note/en/hindsight-local-deployment-and-agent-integration/?lang=en</guid><description>Historical integrated page, split into deployment, agent integration and troubleshooting pages. Retained as an archive guide.</description><pubDate>Mon, 17 Aug 2026 12:00:00 GMT</pubDate><category>Hindsight</category><category>Memory</category><category>OMP</category><category>Codex</category><category>MCP</category><category>Ollama</category><category>ROCm</category><category>BGE-M3</category><category>Architecture</category><category>Troubleshooting</category><category>en</category><category>note</category></item><item><title>OMP Headroom Bridge: External Routing Controller and Native Codex/OMP Proxy Boundaries</title><link>https://davidhlp.github.io/blog/legacy/note/en/omp-headroom-provider-proxy/?lang=en</link><guid isPermaLink="true">https://davidhlp.github.io/blog/legacy/note/en/omp-headroom-provider-proxy/?lang=en</guid><description>Documents how OMP Headroom Bridge uses an external controller to maintain the coexistence boundaries between a loopback Headroom, OMP provider routes, the native Codex CLI/Desktop Responses provider, and Claude Code/cc-switch.</description><pubDate>Thu, 13 Aug 2026 14:18:29 GMT</pubDate><category>OMP</category><category>Headroom</category><category>Codex</category><category>OpenCode</category><category>ClaudeCode</category><category>Proxy</category><category>Routing</category><category>systemd</category><category>Security</category><category>en</category><category>note</category></item><item><title>Headroom with cc-switch / Claude Code Coexistence: Single Synthesis and Security Boundaries</title><link>https://davidhlp.github.io/blog/legacy/note/en/headroom-cc-switch-coexistence/?lang=en</link><guid isPermaLink="true">https://davidhlp.github.io/blog/legacy/note/en/headroom-cc-switch-coexistence/?lang=en</guid><description>Synthesizes pinned project commits and runtime evidence: how Headroom 8787 receives Claude Code Messages before cc-switch 15721, keeping the OMP path isolated, a single synthesis responsibility, and a rollback-safe systemd security boundary.</description><pubDate>Thu, 13 Aug 2026 07:31:11 GMT</pubDate><category>Headroom</category><category>cc-switch</category><category>ClaudeCode</category><category>OMP</category><category>Anthropic</category><category>OpenAI</category><category>Proxy</category><category>Routing</category><category>Security</category><category>Compression</category><category>en</category><category>note</category></item><item><title>Database Schema Drift: Locating with the history, schema, and query Views</title><link>https://davidhlp.github.io/blog/legacy/note/en/database-schema-drift/?lang=en</link><guid isPermaLink="true">https://davidhlp.github.io/blog/legacy/note/en/database-schema-drift/?lang=en</guid><description>Explains why Flyway validate cannot replace an actual Schema check, and uses the three views of migration history, actual schema, and application query to distinguish checksum drift, external DDL, Unknown column, and residue from a failed migration.</description><pubDate>Wed, 12 Aug 2026 16:00:00 GMT</pubDate><category>Flyway</category><category>MySQL</category><category>Schema Drift</category><category>Migration</category><category>Database</category><category>Troubleshooting</category><category>en</category><category>note</category></item><item><title>Dubbo + Nacos: Verify the Registration Name and group/version First, Then Run a Real Smoke Test</title><link>https://davidhlp.github.io/blog/legacy/note/en/dubbo-nacos-runtime/?lang=en</link><guid isPermaLink="true">https://davidhlp.github.io/blog/legacy/note/en/dubbo-nacos-runtime/?lang=en</guid><description>Based on Apache Dubbo 3.3.6 and official Nacos materials, describes the minimal boundaries of interface-level/application-level registration names, metadata, group/version matching, startup checks, and a real Nacos smoke test.</description><pubDate>Wed, 12 Aug 2026 16:00:00 GMT</pubDate><category>Apache Dubbo</category><category>Nacos</category><category>Service Discovery</category><category>Registry</category><category>RPC</category><category>Smoke Test</category><category>en</category><category>note</category></item><item><title>JJWT 0.13.0: Explicitly Fixing the Signature Algorithm, Verifying by Key Type</title><link>https://davidhlp.github.io/blog/legacy/note/en/jjwt-013-security-api/?lang=en</link><guid isPermaLink="true">https://davidhlp.github.io/blog/legacy/note/en/jjwt-013-security-api/?lang=en</guid><description>Explains the recommended algorithm heuristic of signWith(Key), the two-argument explicit-algorithm API, the SecretKey/PublicKey type boundaries of verifyWith, and the migration path for the audience builder in JJWT 0.13.0.</description><pubDate>Wed, 12 Aug 2026 16:00:00 GMT</pubDate><category>JJWT</category><category>JWT</category><category>JWS</category><category>Security</category><category>HS256</category><category>RS256</category><category>Authentication</category><category>en</category><category>note</category></item><item><title>KB Session Ingestion Pipeline Contract: Incremental Reuse, Redaction v19, and Immutable Raw</title><link>https://davidhlp.github.io/blog/legacy/note/en/kb-session-ingest-contract/?lang=en</link><guid isPermaLink="true">https://davidhlp.github.io/blog/legacy/note/en/kb-session-ingest-contract/?lang=en</guid><description>Pins the minimal contract of the KB session ingestion pipeline at commit c0ae74e: identity/content-hash-driven incremental reuse, no reuse of failed records, redaction v19, internal control-plane filtering, partial checkpoint resume, and immutable raw manifest validation, and clarifies placeholder semantics and redaction boundaries.</description><pubDate>Wed, 12 Aug 2026 16:00:00 GMT</pubDate><category>Knowledge Base</category><category>Ingestion</category><category>Redaction</category><category>Hashing</category><category>Manifest</category><category>Raw Evidence</category><category>en</category><category>note</category></item><item><title>MCP Protocol Era Boundary and the codebase-memory-mcp v0.10.2 Graph Workflow</title><link>https://davidhlp.github.io/blog/legacy/note/en/mcp-codebase-memory-workflow/?lang=en</link><guid isPermaLink="true">https://davidhlp.github.io/blog/legacy/note/en/mcp-codebase-memory-workflow/?lang=en</guid><description>The boundary and error codes between the MCP 2026-07-28 modern per-request _meta and the legacy initialize handshake, plus the codebase-memory-mcp v0.10.2 graph-search workflow: graph results are not a completeness proof, and negative conclusions must return to coverage and source code.</description><pubDate>Wed, 12 Aug 2026 16:00:00 GMT</pubDate><category>MCP</category><category>Specification</category><category>Knowledge Graph</category><category>Code Intelligence</category><category>Workflow</category><category>Codebase Memory</category><category>en</category><category>note</category></item><item><title>Microservice Data Ownership: Establish the Domain Owner First, Then Talk About Database Splitting and Migration</title><link>https://davidhlp.github.io/blog/legacy/note/en/microservice-data-ownership/?lang=en</link><guid isPermaLink="true">https://davidhlp.github.io/blog/legacy/note/en/microservice-data-ownership/?lang=en</guid><description>Establishes an order for determining data ownership with service-private data, bounded context, saga, transactional outbox, and expand-migrate-contract, so a shared physical database, a shared schema, and service autonomy are not conflated.</description><pubDate>Wed, 12 Aug 2026 16:00:00 GMT</pubDate><category>Microservices</category><category>Bounded Context</category><category>Data Ownership</category><category>Database-per-Service</category><category>Saga</category><category>Transactional Outbox</category><category>Strangler Fig</category><category>en</category><category>note</category></item><item><title>Multi-Service Startup Readiness: running, ready, and Dependency/Failure/Restart Propagation</title><link>https://davidhlp.github.io/blog/legacy/note/en/multi-service-readiness/?lang=en</link><guid isPermaLink="true">https://davidhlp.github.io/blog/legacy/note/en/multi-service-readiness/?lang=en</guid><description>Uses a decision table to distinguish six concepts in multi-service orchestration — process startup, business readiness, ordering, dependency establishment, and failure/restart propagation — and gives the minimal combinations and verification paths for Compose healthcheck/depends_on and systemd After/Wants/Requires.</description><pubDate>Wed, 12 Aug 2026 16:00:00 GMT</pubDate><category>Docker Compose</category><category>systemd</category><category>depends_on</category><category>healthcheck</category><category>Readiness</category><category>Orchestration</category><category>en</category><category>note</category></item><item><title>Redisson/Jackson&apos;s Default Serialization Behavior for LocalDateTime and the Write-Read Asymmetry Boundary</title><link>https://davidhlp.github.io/blog/legacy/note/en/redis-jackson-java-time/?lang=en</link><guid isPermaLink="true">https://davidhlp.github.io/blog/legacy/note/en/redis-jackson-java-time/?lang=en</guid><description>Explains why the default JsonJacksonCodec and GenericJackson2JsonRedisSerializer fail at write time for LocalDateTime, that the Redisson default codec is actually Kryo5Codec, and the three-layer decision path for troubleshooting write-read asymmetry.</description><pubDate>Wed, 12 Aug 2026 16:00:00 GMT</pubDate><category>Redis</category><category>Redisson</category><category>Jackson</category><category>JavaTime</category><category>LocalDateTime</category><category>Spring Data Redis</category><category>Serialization</category><category>en</category><category>note</category></item><item><title>ResiCache: Observer Nested Execution Must Distinguish Lifecycle, Fragments, and Scope Tokens</title><link>https://davidhlp.github.io/blog/legacy/note/en/resicache-observer-nested-execution/?lang=en</link><guid isPermaLink="true">https://davidhlp.github.io/blog/legacy/note/en/resicache-observer-nested-execution/?lang=en</guid><description>Distills from a public ResiCache fixed commit the boundaries of the observer lifecycle, lock-held fragments, per-call scope tokens, and ThreadLocal snapshot isolation, to avoid nested execution re-firing hooks or polluting concurrent state.</description><pubDate>Wed, 12 Aug 2026 16:00:00 GMT</pubDate><category>Java</category><category>Observer</category><category>ThreadLocal</category><category>Concurrency</category><category>Redis</category><category>Cache</category><category>Reentrant</category><category>en</category><category>note</category></item><item><title>Testcontainers 1.20.6: Rule Out the Docker API Version First, Then Judge the daemon Unavailable</title><link>https://davidhlp.github.io/blog/legacy/note/en/testcontainers-docker-api/?lang=en</link><guid isPermaLink="true">https://davidhlp.github.io/blog/legacy/note/en/testcontainers-docker-api/?lang=en</guid><description>Explains how Testcontainers 1.20.6 falls back to 1.32 for an unknown Docker API version, why DOCKER_API_VERSION should not borrow Docker CLI experience, and how to distinguish version incompatibility from a missing Docker environment starting from the earliest 400 error.</description><pubDate>Wed, 12 Aug 2026 16:00:00 GMT</pubDate><category>Testcontainers</category><category>Docker</category><category>docker-java</category><category>API-Version</category><category>Moby</category><category>Diagnostics</category><category>en</category><category>note</category></item><item><title>Headroom 0.34 Compression and Retrieval Contract: Fields, Modes, and Real-Endpoint Tests</title><link>https://davidhlp.github.io/blog/legacy/note/en/headroom-compress-retrieve-contract/?lang=en</link><guid isPermaLink="true">https://davidhlp.github.io/blog/legacy/note/en/headroom-compress-retrieve-contract/?lang=en</guid><description>Pins the Headroom 0.34.0 /v1/compress and /v1/retrieve request, response, and mode boundaries, and explains why mocks and real loopback contract tests must share one schema.</description><pubDate>Tue, 11 Aug 2026 16:00:00 GMT</pubDate><category>Headroom</category><category>API</category><category>Compression</category><category>CCR</category><category>Contract Testing</category><category>Agent</category><category>en</category><category>note</category></item><item><title>Knowledge-base Ingest Inbox</title><link>https://davidhlp.github.io/blog/legacy/jotting/en/kb-ingest-todo/?lang=en</link><guid isPermaLink="true">https://davidhlp.github.io/blog/legacy/jotting/en/kb-ingest-todo/?lang=en</guid><description>Sources and questions awaiting evidence review are ingestion candidates, not stable knowledge.</description><pubDate>Fri, 07 Aug 2026 00:00:00 GMT</pubDate><category>Knowledge Base</category><category>Ingest</category><category>TODO</category><category>en</category><category>jotting</category></item><item><title>The LLM-Wiki Pattern: Maintaining a Compounding Personal Knowledge Base</title><link>https://davidhlp.github.io/blog/legacy/note/en/llm-wiki-pattern/?lang=en</link><guid isPermaLink="true">https://davidhlp.github.io/blog/legacy/note/en/llm-wiki-pattern/?lang=en</guid><description>The operating manual for DavidHLPL&apos;s personal AI knowledge base: raw sources, wiki pages, schema, and the ingest/query/lint loop.</description><pubDate>Fri, 07 Aug 2026 00:00:00 GMT</pubDate><category>LLM</category><category>Knowledge Base</category><category>Wiki</category><category>RAG</category><category>Agent</category><category>en</category><category>note</category></item><item><title>Headroom Route Persistence Synthesis: Named Profiles, model_cache, and Recovery</title><link>https://davidhlp.github.io/blog/legacy/note/en/omp-headroom-persistence/?lang=en</link><guid isPermaLink="true">https://davidhlp.github.io/blog/legacy/note/en/omp-headroom-persistence/?lang=en</guid><description>Synthesizes Headroom route persistence when OMP rewrites runtime model caches: Named Profiles isolate intent and credentials, an external declaration can preserve route intent, model_cache remains rebuildable derived state, and the legacy reconciler is limited to isolated migration recovery. Current wrapper lifecycle and version dependencies are explicit.</description><pubDate>Wed, 05 Aug 2026 16:00:00 GMT</pubDate><category>OMP</category><category>Agent</category><category>Headroom</category><category>DevOps</category><category>LLM</category><category>Operations</category><category>Routing</category><category>Proxy</category><category>Codex</category><category>OpenCode</category><category>en</category><category>note</category></item><item><title>Headroom Single-Port Synthesis: Entry, Dynamic Upstreams, and Verification Boundaries</title><link>https://davidhlp.github.io/blog/legacy/note/en/headroom-single-port-evolution/?lang=en</link><guid isPermaLink="true">https://davidhlp.github.io/blog/legacy/note/en/headroom-single-port-evolution/?lang=en</guid><description>Synthesizes the Headroom single-port routing model: one loopback entry can serve explicitly configured custom providers and dynamic upstreams while preserving protocol differences. It separates OMP role selection, model_cache, request routing, and wrapper lifecycle and verifies each layer independently. Historical routes remain provisional.</description><pubDate>Fri, 31 Jul 2026 16:00:00 GMT</pubDate><category>OMP</category><category>Agent</category><category>Headroom</category><category>DevOps</category><category>LLM</category><category>Operations</category><category>Routing</category><category>Proxy</category><category>Codex</category><category>Kimi</category><category>MiniMax</category><category>Zhipu</category><category>en</category><category>note</category></item><item><title>SSH Intranet Access: Connection Direction, Exposure, and Recovery</title><link>https://davidhlp.github.io/blog/legacy/note/en/intranet-penetration-ssh-guide/?lang=en</link><guid isPermaLink="true">https://davidhlp.github.io/blog/legacy/note/en/intranet-penetration-ssh-guide/?lang=en</guid><description>A five-axis comparison of Cloudflare Tunnel, Tailscale, and FRP—connection direction, exposure, control plane, data plane, and recovery—with evidence-backed boundaries for mobile clients, ports, and systemd/linger.</description><pubDate>Fri, 31 Jul 2026 16:00:00 GMT</pubDate><category>Intranet Penetration</category><category>Cloudflare</category><category>Tailscale</category><category>FRP</category><category>SSH</category><category>Termius</category><category>systemd</category><category>DevOps</category><category>en</category><category>note</category></item><item><title>OMP Configuration Layers: Model Roles, Agent Overrides, and Fallback Chains</title><link>https://davidhlp.github.io/blog/legacy/note/en/omp-config-and-rules-guide/?lang=en</link><guid isPermaLink="true">https://davidhlp.github.io/blog/legacy/note/en/omp-config-and-rules-guide/?lang=en</guid><description>A reusable model for OMP configuration layers: modelRoles selects a role default, agentModelOverrides supplies a local exception, and fallbackChains recovers after failure; the page also separates Headroom, rule discovery, and model selection and gives an ordered validation method.</description><pubDate>Fri, 31 Jul 2026 16:00:00 GMT</pubDate><category>OMP</category><category>Agent</category><category>Headroom</category><category>DevOps</category><category>LLM</category><category>Operations</category><category>RTK</category><category>Rules</category><category>Configuration</category><category>Architecture</category><category>en</category><category>note</category></item><item><title>OMP Hook Extension Concept: Decision-Point Nudges, Hard Blocks, and Status Bridges</title><link>https://davidhlp.github.io/blog/legacy/note/en/omp-hook-extension-guide/?lang=en</link><guid isPermaLink="true">https://davidhlp.github.io/blog/legacy/note/en/omp-hook-extension-guide/?lang=en</guid><description>Treats an OMP Hook as an event extension at a tool decision point: sendMessage supplies a soft nudge without blocking, a hard result can reject a call, and setStatus bridges state into the UI. Includes API boundaries, mock and live-session checks, and the explicit warning that a suggestion is not a security boundary.</description><pubDate>Fri, 24 Jul 2026 16:00:00 GMT</pubDate><category>Agent</category><category>OMP</category><category>Codebase</category><category>Hooks</category><category>DevOps</category><category>TUI</category><category>Plugin</category><category>Extension</category><category>en</category><category>note</category></item><item><title>MySQL Performance Triage: Symptom → Metric → Layer → Safe Mitigation</title><link>https://davidhlp.github.io/blog/legacy/note/en/mysql-performance-troubleshooting/?lang=en</link><guid isPermaLink="true">https://davidhlp.github.io/blog/legacy/note/en/mysql-performance-troubleshooting/?lang=en</guid><description>Map MySQL slowness, stalls, connection piles, and replication alerts to symptoms, metrics, layers, and safe mitigations across connections, locks, indexes, transactions, Buffer Pool, and I/O—without copying a full SOP.</description><pubDate>Tue, 30 Jun 2026 16:00:00 GMT</pubDate><category>MySQL</category><category>Database</category><category>Troubleshooting</category><category>Performance</category><category>InnoDB</category><category>Operations</category><category>en</category><category>note</category></item><item><title>John Johnson · 2026-06-19-18-00-00</title><link>https://davidhlp.github.io/blog/legacy/preface/en/2026-06-19-18-00-00/?lang=en</link><guid isPermaLink="true">https://davidhlp.github.io/blog/legacy/preface/en/2026-06-19-18-00-00/?lang=en</guid><description>John Johnson · 2026-06-19-18-00-00 · src/content/preface/en/2026-06-19-18-00-00.md</description><pubDate>Fri, 19 Jun 2026 10:00:00 GMT</pubDate><category>en</category><category>preface</category></item><item><title>Plugin Lifecycle Management at Million-Endpoint Scale: State, Heartbeats, and Controlled Release</title><link>https://davidhlp.github.io/blog/legacy/note/en/plugin-lifecycle-management/?lang=en</link><guid isPermaLink="true">https://davidhlp.github.io/blog/legacy/note/en/plugin-lifecycle-management/?lang=en</guid><description>A control-plane model for making plugin install, upgrade, uninstall, and rule delivery converge safely through a desired/current/ack/failure state machine, merged heartbeats, idempotent dispatch, canary circuit breakers, and explicit source assumptions about scale and endpoint capabilities.</description><pubDate>Mon, 01 Jun 2026 16:00:00 GMT</pubDate><category>Distributed Systems</category><category>Architecture Design</category><category>Endpoint Management</category><category>Canary Release</category><category>High Availability</category><category>en</category><category>note</category></item><item><title>Enhanced UISA: Owners, Boundaries, and Recovery for Heterogeneous-Node Sync</title><link>https://davidhlp.github.io/blog/legacy/note/en/uisa-architecture-design/?lang=en</link><guid isPermaLink="true">https://davidhlp.github.io/blog/legacy/note/en/uisa-architecture-design/?lang=en</guid><description>A synthesis of Enhanced UISA and the plugin-lifecycle source, reorganized around owner/boundary, sync protocol, reliability and idempotency, heterogeneous nodes, failure recovery, and trade-offs rather than an architecture-blog sequence. Scale and thresholds remain source assumptions, not production promises.</description><pubDate>Wed, 25 Mar 2026 00:00:00 GMT</pubDate><category>Architecture</category><category>Distribution</category><category>Security</category><category>Infrastructure</category><category>Sync</category><category>HybridCloud</category><category>en</category><category>note</category></item><item><title>containerd TLS: Choosing a Trusted Chain or Temporary Verification Bypass</title><link>https://davidhlp.github.io/blog/legacy/note/en/containerd-tls-troubleshooting/?lang=en</link><guid isPermaLink="true">https://davidhlp.github.io/blog/legacy/note/en/containerd-tls-troubleshooting/?lang=en</guid><description>A layer-by-layer decision model for private-registry pull failures: separate certificate trust, containerd configuration, Kubernetes credentials, and node cache, then choose a production CA or a temporary skip_verify probe.</description><pubDate>Tue, 24 Feb 2026 16:00:00 GMT</pubDate><category>Kubernetes</category><category>containerd</category><category>TLS</category><category>Harbor</category><category>Operations</category><category>Troubleshooting</category><category>en</category><category>note</category></item><item><title>Java Backend Interview Retrospective: Project Truth, Engineering Mechanisms, and Production Evidence</title><link>https://davidhlp.github.io/blog/legacy/note/en/java-internship-interview-blog-polished/?lang=en</link><guid isPermaLink="true">https://davidhlp.github.io/blog/legacy/note/en/java-internship-interview-blog-polished/?lang=en</guid><description>Synthesizes a capability model that moves from proving project ownership, through cache and asynchronous mechanisms, to production evidence for diagnosis, mitigation, and recovery.</description><pubDate>Tue, 24 Feb 2026 16:00:00 GMT</pubDate><category>Java</category><category>Backend</category><category>Internship Interview</category><category>Redis</category><category>Docker</category><category>Kafka</category><category>WebSocket</category><category>JVM</category><category>Production Troubleshooting</category><category>en</category><category>note</category></item><item><title>Java Production Performance Troubleshooting: A Minimal Symptom-to-Evidence Decision Tree</title><link>https://davidhlp.github.io/blog/legacy/note/en/java-online-performance-debug/?lang=en</link><guid isPermaLink="true">https://davidhlp.github.io/blog/legacy/note/en/java-online-performance-debug/?lang=en</guid><description>Compresses Java production incidents into a minimal decision tree from symptom and evidence to thread, GC, or code localization, followed by reversible mitigation and recovery.</description><pubDate>Tue, 24 Feb 2026 16:00:00 GMT</pubDate><category>Linux</category><category>Operations</category><category>SRE</category><category>Performance Troubleshooting</category><category>CPU</category><category>Java</category><category>Production Incident</category><category>Arthas</category><category>JVM</category><category>Hot-Swapping</category><category>en</category><category>note</category></item><item><title>Donald Knuth · 2026-01-01-00-00-00</title><link>https://davidhlp.github.io/blog/legacy/preface/en/2026-01-01-00-00-00/?lang=en</link><guid isPermaLink="true">https://davidhlp.github.io/blog/legacy/preface/en/2026-01-01-00-00-00/?lang=en</guid><description>Donald Knuth · 2026-01-01-00-00-00 · src/content/preface/en/2026-01-01-00-00-00.md</description><pubDate>Thu, 01 Jan 2026 00:00:00 GMT</pubDate><category>en</category><category>preface</category></item><item><title>NullValue: The Cache-Null Placeholder and Serialization Boundary</title><link>https://davidhlp.github.io/blog/legacy/note/en/java-null-value/?lang=en</link><guid isPermaLink="true">https://davidhlp.github.io/blog/legacy/note/en/java-null-value/?lang=en</guid><description>Explains why a cache must distinguish a missing key from a business null, how NullValue prevents repeated negative lookups, and where singleton and serialization semantics stop.</description><pubDate>Tue, 07 Oct 2025 13:43:00 GMT</pubDate><category>Java</category><category>Spring Cache</category><category>Caching</category><category>Null Object</category><category>Design Patterns</category><category>en</category><category>note</category></item><item><title>AtomicBoolean: Atomic Boolean State and CAS Boundaries</title><link>https://davidhlp.github.io/blog/legacy/note/en/java-atomic-boolean/?lang=en</link><guid isPermaLink="true">https://davidhlp.github.io/blog/legacy/note/en/java-atomic-boolean/?lang=en</guid><description>Explains when an atomic boolean state is needed, how compareAndSet combines checking with transition, and where CAS stops helping with multi-field invariants, contention, and coordination.</description><pubDate>Tue, 07 Oct 2025 12:25:00 GMT</pubDate><category>Java</category><category>Concurrency</category><category>AtomicBoolean</category><category>CAS</category><category>JUC</category><category>en</category><category>note</category></item><item><title>AutoCloseable: Resource Ownership and Close-Exception Semantics</title><link>https://davidhlp.github.io/blog/legacy/note/en/java-auto-closeable/?lang=en</link><guid isPermaLink="true">https://davidhlp.github.io/blog/legacy/note/en/java-auto-closeable/?lang=en</guid><description>Explains AutoCloseable and try-with-resources through resource ownership, reverse close order, primary and suppressed exceptions, and the boundaries of idempotent cleanup.</description><pubDate>Tue, 07 Oct 2025 12:25:00 GMT</pubDate><category>Java</category><category>JDK</category><category>Exception Handling</category><category>Resource Management</category><category>Try-With-Resources</category><category>en</category><category>note</category></item></channel></rss>