Chat logs aren’t memory. Learn how to build reliable long-term memory for AI agents: capture runtime events, consolidate them into episodes, extract and reconcile semantic facts, recall context progressively with hybrid search, and version procedural playbooks—all through a cleanup agent that keeps shutting down the wrong server.
OpenTelemetry Foundations: Back to Basics — What Is a Signal? (Part 1)
OpenTelemetry isn’t magic—it’s just structured data objects. Part 1 demystifies OTel signals: spans for request timelines, metrics for trends and SLOs, logs for context. Learn about attributes vs events, histogram buckets, cardinality traps, and the unified context that ties it all together.
Pragmatic API Design: Mastering Collections (Part 2)
Continue exploring pragmatic API design principles in Part 2 of this series. Learn how to manage large data collections effectively, covering scalable techniques for accessing, filtering, sorting, and paginating resources.
Pragmatic API Design: Balancing Best Practices and Real-World Needs (Part 1)
Explore pragmatic API design principles in Part 1 of this series. Learn to balance REST best practices with real-world requirements, covering resource modeling, URL design, PUT vs. PATCH for updates, and handling business actions effectively.
Spark and Data Sketches: Taming count-distinct
Distinct counting is a commonly used metric in trend analysis to measure popularity or performance. Although it may seem like a simple problem, the challenge quickly grows as the amount of data grows. Counting exact distinct values is slow and resource-hungry, even on a parallel engine like Spark. Probabilistic data sketches give you a fast, accurate-enough estimate instead.
Common Pitfalls to Avoid When Publishing Artifacts on Maven Central
Publishing your first library to Maven Central looks straightforward until the release gets stuck on GPG signing or fails to push a Git tag. This post covers the pitfalls I ran into, how to diagnose them, and what changed with the Central Publisher Portal.